hide generate mcp token when mcp is not enabled
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -39,6 +39,7 @@ const (
|
||||
NormalSubcategoryPicture = 11
|
||||
NormalSubcategoryConverter = 12
|
||||
NormalSubcategoryUserCustomExchangeRate = 13
|
||||
NormalSubcategoryModelContextProtocol = 14
|
||||
)
|
||||
|
||||
// Error represents the specific error returned to user
|
||||
|
||||
@@ -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")
|
||||
)
|
||||
@@ -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>;
|
||||
}
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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": "クエリ項目に無効な項目があります",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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": "В элементах запроса присутствует недопустимый элемент",
|
||||
|
||||
@@ -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": "Запит містить недійсний елемент",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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": "请求项目中有非法项目",
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user