feat(mcp): contracts, capability stats migration and MCP SDK dependency

- contracts/mcp.ts: capability stats/tools, MCP server status/config schemas, mcpToolVisible
- api.ts: GET /capabilities/stats, GET /capabilities/tools, GET /mcp/status, PATCH /mcp/config
- migration 0039: mcp_server_config single row + audit_event capability index
- deno.json: npm:@modelcontextprotocol/[email protected].1

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
rootandClaude Opus 5.5 committed 2026-09-28 20:27:51 +08:00
1 parent efb5d206c1
commit 73ee3c6614
8 files changed
+294 -10

No files matched your search

+12
View File
@@ -868,6 +868,14 @@ export interface MediaAssetTable {
download_task_id: string | null;
}
export interface McpServerConfigTable {
id: Generated<number>;
enabled: Generated<boolean>;
allowed_api_key_ids: string[] | null;
updated_by: string | null;
updated_at: GeneratedTimestamptz;
}
export interface MediaEntityTable {
id: Generated<string>;
kind: MediaEntityKind;
@@ -1623,6 +1631,7 @@ export interface DB {
library_root: LibraryRootTable;
login_attempt: LoginAttemptTable;
media_asset: MediaAssetTable;
mcp_server_config: McpServerConfigTable;
media_entity: MediaEntityTable;
media_server_instance: MediaServerInstanceTable;
metadata_field: MetadataFieldTable;
@@ -1772,6 +1781,9 @@ export type LoginAttemptUpdate = Updateable<LoginAttemptTable>;
export type MediaAssetRow = Selectable<MediaAssetTable>;
export type NewMediaAsset = Insertable<MediaAssetTable>;
export type MediaAssetUpdate = Updateable<MediaAssetTable>;
export type McpServerConfigRow = Selectable<McpServerConfigTable>;
export type NewMcpServerConfig = Insertable<McpServerConfigTable>;
export type McpServerConfigUpdate = Updateable<McpServerConfigTable>;
export type MediaEntityRow = Selectable<MediaEntityTable>;
export type NewMediaEntity = Insertable<MediaEntityTable>;
export type MediaEntityUpdate = Updateable<MediaEntityTable>;