hide generate mcp token when mcp is not enabled

This commit is contained in:
MaysWind
2025-07-07 22:28:00 +08:00
parent 5cb129311a
commit 07477eb5f8
18 changed files with 38 additions and 1 deletions
+4
View File
@@ -43,6 +43,10 @@ func (a *ServerSettingsApi) ServerSettingsJavascriptHandler(c *core.WebContext)
a.appendBooleanSetting(builder, "e", config.EnableDataExport)
a.appendBooleanSetting(builder, "i", config.EnableDataImport)
if config.EnableMCPServer {
a.appendBooleanSetting(builder, "mcp", config.EnableMCPServer)
}
if config.LoginPageTips.Enabled {
a.appendMultiLanguageTipSetting(builder, "lpt", config.LoginPageTips)
}
+4
View File
@@ -83,6 +83,10 @@ func (a *TokensApi) TokenListHandler(c *core.WebContext) (any, *errs.Error) {
// TokenGenerateMCPHandler generates a new MCP token for current user
func (a *TokensApi) TokenGenerateMCPHandler(c *core.WebContext) (any, *errs.Error) {
if !a.CurrentConfig().EnableMCPServer {
return nil, errs.ErrMCPServerNotEnabled
}
var generateMCPTokenReq models.TokenGenerateMCPRequest
err := c.ShouldBindJSON(&generateMCPTokenReq)
+4
View File
@@ -422,6 +422,10 @@ func (l *UserDataCli) CreateNewUserToken(c *core.CliContext, username string, to
var tokenRecord *models.TokenRecord
if tokenType == "mcp" {
if !l.CurrentConfig().EnableMCPServer {
return nil, "", errs.ErrMCPServerNotEnabled
}
if user.FeatureRestriction.Contains(core.USER_FEATURE_RESTRICTION_TYPE_MCP_ACCESS) {
return nil, "", errs.ErrNotPermittedToPerformThisAction
}
+1
View File
@@ -39,6 +39,7 @@ const (
NormalSubcategoryPicture = 11
NormalSubcategoryConverter = 12
NormalSubcategoryUserCustomExchangeRate = 13
NormalSubcategoryModelContextProtocol = 14
)
// Error represents the specific error returned to user
+8
View File
@@ -0,0 +1,8 @@
package errs
import "net/http"
// Error codes related to model context protocol server
var (
ErrMCPServerNotEnabled = NewNormalError(NormalSubcategoryModelContextProtocol, 0, http.StatusBadRequest, "mcp server is not enabled")
)
+4
View File
@@ -31,6 +31,10 @@ export function isDataImportingEnabled(): boolean {
return getServerSetting('i') === 1;
}
export function isMCPServerEnabled(): boolean {
return getServerSetting('mcp') === 1;
}
export function getLoginPageTips(): Record<string, string>{
return getServerSetting('lpt') as Record<string, string>;
}
+1
View File
@@ -1188,6 +1188,7 @@
"user custom exchange rate data not found": "User custom exchange rate data is not found",
"cannot update exchange rate data for base currency": "Cannot update exchange rate data for base currency",
"cannot delete exchange rate data for base currency": "Cannot delete exchange rate data for base currency",
"mcp server is not enabled": "MCP Server is not enabled",
"query items cannot be blank": "Abfrageelemente dürfen nicht leer sein",
"query items too much": "Zu viele Abfrageelemente",
"query items have invalid item": "Ungültiges Element in Abfrageelementen",
+1
View File
@@ -1188,6 +1188,7 @@
"user custom exchange rate data not found": "User custom exchange rate data is not found",
"cannot update exchange rate data for base currency": "Cannot update exchange rate data for base currency",
"cannot delete exchange rate data for base currency": "Cannot delete exchange rate data for base currency",
"mcp server is not enabled": "MCP Server is not enabled",
"query items cannot be blank": "There are no query items",
"query items too much": "There are too many query items",
"query items have invalid item": "There is invalid item in query items",
+1
View File
@@ -1188,6 +1188,7 @@
"user custom exchange rate data not found": "User custom exchange rate data is not found",
"cannot update exchange rate data for base currency": "Cannot update exchange rate data for base currency",
"cannot delete exchange rate data for base currency": "Cannot delete exchange rate data for base currency",
"mcp server is not enabled": "MCP Server is not enabled",
"query items cannot be blank": "--",
"query items too much": "--",
"query items have invalid item": "Hay un elemento no válido en los elementos de consulta",
+1
View File
@@ -1188,6 +1188,7 @@
"user custom exchange rate data not found": "User custom exchange rate data is not found",
"cannot update exchange rate data for base currency": "Cannot update exchange rate data for base currency",
"cannot delete exchange rate data for base currency": "Cannot delete exchange rate data for base currency",
"mcp server is not enabled": "MCP Server is not enabled",
"query items cannot be blank": "Non ci sono elementi di query",
"query items too much": "Ci sono troppi elementi di query",
"query items have invalid item": "C'è un elemento non valido negli elementi di query",
+1
View File
@@ -1188,6 +1188,7 @@
"user custom exchange rate data not found": "User custom exchange rate data is not found",
"cannot update exchange rate data for base currency": "Cannot update exchange rate data for base currency",
"cannot delete exchange rate data for base currency": "Cannot delete exchange rate data for base currency",
"mcp server is not enabled": "MCP Server is not enabled",
"query items cannot be blank": "クエリ項目がありません",
"query items too much": "クエリ項目が多すぎます",
"query items have invalid item": "クエリ項目に無効な項目があります",
+1
View File
@@ -1188,6 +1188,7 @@
"user custom exchange rate data not found": "Dados de taxa de câmbio personalizados do usuário não encontrados",
"cannot update exchange rate data for base currency": "Não é possível atualizar dados de taxa de câmbio para a moeda base",
"cannot delete exchange rate data for base currency": "Não é possível excluir dados de taxa de câmbio para a moeda base",
"mcp server is not enabled": "MCP Server is not enabled",
"query items cannot be blank": "Não há itens de consulta",
"query items too much": "Há muitos itens de consulta",
"query items have invalid item": "Há item inválido nos itens de consulta",
+1
View File
@@ -1188,6 +1188,7 @@
"user custom exchange rate data not found": "User custom exchange rate data is not found",
"cannot update exchange rate data for base currency": "Cannot update exchange rate data for base currency",
"cannot delete exchange rate data for base currency": "Cannot delete exchange rate data for base currency",
"mcp server is not enabled": "MCP Server is not enabled",
"query items cannot be blank": "Нет элементов запроса",
"query items too much": "Слишком много элементов запроса",
"query items have invalid item": "В элементах запроса присутствует недопустимый элемент",
+1
View File
@@ -1188,6 +1188,7 @@
"user custom exchange rate data not found": "User custom exchange rate data is not found",
"cannot update exchange rate data for base currency": "Cannot update exchange rate data for base currency",
"cannot delete exchange rate data for base currency": "Cannot delete exchange rate data for base currency",
"mcp server is not enabled": "MCP Server is not enabled",
"query items cannot be blank": "Елементи запиту не можуть бути порожніми",
"query items too much": "Занадто багато елементів запиту",
"query items have invalid item": "Запит містить недійсний елемент",
+1
View File
@@ -1188,6 +1188,7 @@
"user custom exchange rate data not found": "User custom exchange rate data is not found",
"cannot update exchange rate data for base currency": "Cannot update exchange rate data for base currency",
"cannot delete exchange rate data for base currency": "Cannot delete exchange rate data for base currency",
"mcp server is not enabled": "MCP Server is not enabled",
"query items cannot be blank": "Không có mục truy vấn",
"query items too much": "Có quá nhiều mục truy vấn",
"query items have invalid item": "Có mục không hợp lệ trong các mục truy vấn",
+1
View File
@@ -1188,6 +1188,7 @@
"user custom exchange rate data not found": "用户自定义汇率数据不存在",
"cannot update exchange rate data for base currency": "不能更新默认货币的汇率数据",
"cannot delete exchange rate data for base currency": "不能删除默认货币的汇率数据",
"mcp server is not enabled": "MCP 服务器没有启用",
"query items cannot be blank": "请求项目不能为空",
"query items too much": "请求项目过多",
"query items have invalid item": "请求项目中有非法项目",
+1
View File
@@ -1188,6 +1188,7 @@
"user custom exchange rate data not found": "使用者自訂匯率資料不存在",
"cannot update exchange rate data for base currency": "不能更新基準貨幣的匯率資料",
"cannot delete exchange rate data for base currency": "不能刪除基準貨幣的匯率資料",
"mcp server is not enabled": "MCP 伺服器未啟用",
"query items cannot be blank": "查詢項目不能為空",
"query items too much": "查詢項目過多",
"query items have invalid item": "查詢項目中有非法項目",
@@ -69,7 +69,7 @@
<div class="d-flex align-center">
<span>{{ tt('Device & Sessions') }}</span>
<v-btn class="ml-3" density="compact" color="default" variant="outlined"
@click="generateMCPToken">{{ tt('Generate MCP token') }}</v-btn>
@click="generateMCPToken" v-if="isMCPServerEnabled()">{{ tt('Generate MCP token') }}</v-btn>
<v-btn density="compact" color="default" variant="text" size="24"
class="ml-2" :icon="true" :loading="loadingSession" @click="reloadSessions(false)">
<template #loader>
@@ -149,6 +149,7 @@ import { type TokenInfoResponse, SessionInfo } from '@/models/token.ts';
import { isEquals } from '@/lib/common.ts';
import { parseSessionInfo } from '@/lib/session.ts';
import { isMCPServerEnabled } from '@/lib/server_settings.ts';
import {
mdiRefresh,