refactor(mcp): improve data structure with metadata/spec separation
- Separate MCP server metadata from connection spec for cleaner architecture - Add comprehensive server entry fields: name, description, tags, homepage, docs - Remove legacy format compatibility logic from extract_server_spec - Implement data validation and filtering in get_servers_snapshot_for - Add strict id consistency check in upsert_in_config_for - Enhance import logic with defensive programming for corrupted data - Simplify frontend by removing normalization logic (moved to backend) - Improve error messages with contextual information - Add comprehensive i18n support for new metadata fields
This commit is contained in:
19
src/types.ts
19
src/types.ts
@@ -55,8 +55,8 @@ export interface Settings {
|
||||
customEndpointsCodex?: Record<string, CustomEndpoint>;
|
||||
}
|
||||
|
||||
// MCP 服务器定义(宽松:允许扩展字段)
|
||||
export interface McpServer {
|
||||
// MCP 服务器连接参数(宽松:允许扩展字段)
|
||||
export interface McpServerSpec {
|
||||
// 可选:社区常见 .mcp.json 中 stdio 配置可不写 type
|
||||
type?: "stdio" | "http";
|
||||
// stdio 字段
|
||||
@@ -68,7 +68,20 @@ export interface McpServer {
|
||||
url?: string;
|
||||
headers?: Record<string, string>;
|
||||
// 通用字段
|
||||
enabled?: boolean; // 是否启用该 MCP 服务器,默认 true
|
||||
[key: string]: any;
|
||||
}
|
||||
|
||||
// MCP 服务器条目(含元信息)
|
||||
export interface McpServer {
|
||||
id: string;
|
||||
name?: string;
|
||||
description?: string;
|
||||
tags?: string[];
|
||||
homepage?: string;
|
||||
docs?: string;
|
||||
enabled?: boolean;
|
||||
server: McpServerSpec;
|
||||
source?: string;
|
||||
[key: string]: any;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user