Skip to main content
Glama
wuyunmei
by wuyunmei
knowledge.ts3.72 kB
import { McpError, ErrorCode } from '../mcp/types.js'; import { apiClient } from '../api/client.js'; import type { QueryKnowledgeRequest, AddKnowledgeRequest, UpdateKnowledgeRequest, RelateKnowledgeRequest, } from '../api/types.js'; export async function queryKnowledge(params: QueryKnowledgeRequest) { console.log('[MCP Tool] query_knowledge', JSON.stringify(params, null, 2)); try { const response = await apiClient.queryKnowledge( params.uid, params.query, params.filters, params.limit ); if (!response.success) { console.error('[MCP Tool Error] query_knowledge failed:', response.error); throw new Error(response.error || 'Failed to query knowledge'); } console.log('[MCP Tool Success] query_knowledge', JSON.stringify(response.data, null, 2)); return response.data; } catch (error) { const errorMsg = `Failed to query knowledge: ${error instanceof Error ? error.message : 'Unknown error'}`; console.error('[MCP Tool Error] query_knowledge:', errorMsg); throw new McpError(ErrorCode.InternalError, errorMsg); } } export async function addKnowledge(params: AddKnowledgeRequest) { console.log('[MCP Tool] add_knowledge', JSON.stringify(params, null, 2)); try { const response = await apiClient.addKnowledge( params.uid, params.content, params.metadata ); if (!response.success) { console.error('[MCP Tool Error] add_knowledge failed:', response.error); throw new Error(response.error || 'Failed to add knowledge'); } console.log('[MCP Tool Success] add_knowledge', JSON.stringify(response.data, null, 2)); return response.data; } catch (error) { const errorMsg = `Failed to add knowledge: ${error instanceof Error ? error.message : 'Unknown error'}`; console.error('[MCP Tool Error] add_knowledge:', errorMsg); throw new McpError(ErrorCode.InternalError, errorMsg); } } export async function updateKnowledge(params: UpdateKnowledgeRequest) { console.log('[MCP Tool] update_knowledge', JSON.stringify(params, null, 2)); try { const response = await apiClient.updateKnowledge( params.uid, params.kid, params.content, params.metadata ); if (!response.success) { console.error('[MCP Tool Error] update_knowledge failed:', response.error); throw new Error(response.error || 'Failed to update knowledge'); } console.log('[MCP Tool Success] update_knowledge', JSON.stringify(response.data, null, 2)); return response.data; } catch (error) { const errorMsg = `Failed to update knowledge: ${error instanceof Error ? error.message : 'Unknown error'}`; console.error('[MCP Tool Error] update_knowledge:', errorMsg); throw new McpError(ErrorCode.InternalError, errorMsg); } } export async function relateKnowledge(params: RelateKnowledgeRequest) { console.log('[MCP Tool] relate_knowledge', JSON.stringify(params, null, 2)); try { const response = await apiClient.relateKnowledge( params.uid, params.source_kid, params.target_kid, params.relation_type, params.weight ); if (!response.success) { console.error('[MCP Tool Error] relate_knowledge failed:', response.error); throw new Error(response.error || 'Failed to relate knowledge'); } console.log('[MCP Tool Success] relate_knowledge', JSON.stringify(response.data, null, 2)); return response.data; } catch (error) { const errorMsg = `Failed to relate knowledge: ${error instanceof Error ? error.message : 'Unknown error'}`; console.error('[MCP Tool Error] relate_knowledge:', errorMsg); throw new McpError(ErrorCode.InternalError, errorMsg); } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wuyunmei/momedb-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server