EKMS MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@EKMS MCP Serversearch for best practices on customer onboarding"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
EKMS MCP Server
Enterprise Knowledge Management System 的 Model Context Protocol (MCP) 伺服器。
讓 Claude Code 能夠直接查詢和操作企業知識庫。
功能
search_knowledge- 搜尋知識庫(支援混合/語意/關鍵字搜尋)recommend_knowledge- 根據上下文和客戶特徵推薦知識get_knowledge_item- 取得特定知識項目完整內容list_knowledge_types- 列出所有知識類型list_customers- 列出所有客戶get_knowledge_graph- 取得知識關聯圖譜record_knowledge_feedback- 記錄知識使用反饋
Related MCP server: RAG MCP Server
安裝
cd ekms-mcp-server
npm install配置
複製環境變數範本:
cp .env.example .env編輯 .env 設定 EKMS API 位址:
EKMS_API_URL=http://your-ekms-api-server:3000
EKMS_API_KEY=your-api-key使用方式
方式一:本地開發
啟動伺服器測試:
npm start在 Claude Code 配置中加入:
{
"mcpServers": {
"ekms": {
"command": "node",
"args": ["/path/to/ekms-mcp-server/src/index.js"],
"env": {
"EKMS_API_URL": "http://localhost:3000"
}
}
}
}方式二:使用 Claude CLI
claude mcp add ekms node /path/to/ekms-mcp-server/src/index.js開發
# 開發模式(自動重載)
npm run dev
# 執行測試
npm test架構
ekms-mcp-server/
├── src/
│ ├── index.js # MCP 伺服器入口
│ ├── tools/
│ │ └── definitions.js # 工具定義
│ ├── handlers/
│ │ └── knowledge-handlers.js # 工具處理邏輯
│ └── utils/
│ └── api-client.js # EKMS API 客戶端
├── config/
├── migrations/ # 資料庫遷移腳本
└── package.jsonLicense
MIT
Available Tools
7 toolsget_knowledge_graphC
取得特定知識項目的關聯圖譜,顯示與其他知識的關係
| Name | Required | Description | Default |
|---|---|---|---|
| knowledgeId | Yes | 中心知識項目的 UUID | |
| depth | No | 關聯深度(1-3 層) | |
| relationTypes | No | 過濾特定關係類型 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. While it indicates this is a retrieval operation ('取得' - get), it doesn't describe important behavioral aspects like whether this requires authentication, rate limits, what format the graph is returned in, whether it's paginated, or potential performance implications of deeper depth values. The description is too minimal for a tool with 3 parameters and no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - a single sentence that directly states the tool's purpose. There's no wasted language or unnecessary elaboration. It's front-loaded with the core functionality. For a retrieval tool with good schema documentation, this level of conciseness is appropriate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what the graph output looks like, how relationships are represented, what happens at different depth levels, or practical usage considerations. For a graph visualization tool with multiple configuration parameters, more context is needed to help an agent use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema. It mentions '特定知識項目' (specific knowledge item) which aligns with the knowledgeId parameter, but provides no additional context about parameter usage, relationships between parameters, or practical examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '取得特定知識項目的關聯圖譜,顯示與其他知識的關係' (Get the relationship graph of a specific knowledge item, showing relationships with other knowledge). It specifies the verb ('取得' - get/retrieve) and resource ('知識項目的關聯圖譜' - knowledge item relationship graph). However, it doesn't explicitly distinguish this from sibling tools like 'get_knowledge_item' or 'search_knowledge', which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_knowledge_item' (which might retrieve a single item) or 'search_knowledge' (which might search across items), nor does it provide context about when this graph visualization is appropriate versus other retrieval methods.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_knowledge_itemB
根據 ID 取得特定知識項目的完整內容,包含所有元資料和關聯知識
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 知識項目的 UUID | |
| includeRelations | No | 是否包含關聯知識 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions retrieving '完整內容' (complete content) and including metadata and related knowledge, which gives some context about what data is returned. However, it lacks details on permissions, rate limits, error handling, or whether this is a read-only operation (though '取得' implies retrieval, not mutation). For a tool with no annotations, this is a significant gap in behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Chinese that clearly states the tool's purpose without unnecessary words. It is front-loaded with the core action ('取得' - retrieve) and resource ('知識項目' - knowledge item), making it easy to understand quickly. Every part of the sentence earns its place by specifying key details like ID-based retrieval and included content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (simple retrieval with 2 parameters), no annotations, no output schema, and 100% schema coverage, the description is minimally adequate. It explains what the tool does but lacks context on behavioral aspects (e.g., safety, performance) and doesn't detail output values. Without an output schema, the description should ideally hint at return structure, but it only mentions content types, leaving gaps in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with both parameters ('id' and 'includeRelations') fully described in the schema. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't explain UUID format or what '關聯知識' entails). According to the rules, with high schema coverage (>80%), the baseline is 3 even with no param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '根據 ID 取得特定知識項目的完整內容,包含所有元資料和關聯知識' (Retrieve the complete content of a specific knowledge item by ID, including all metadata and related knowledge). It specifies the verb ('取得' - retrieve) and resource ('知識項目' - knowledge item) with scope ('完整內容' - complete content). However, it doesn't explicitly distinguish this from sibling tools like 'get_knowledge_graph' or 'search_knowledge', which prevents a score of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_knowledge_graph' (which might retrieve graph-structured knowledge) or 'search_knowledge' (which might search without a specific ID), nor does it specify prerequisites or exclusions. Usage is implied by the description but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_customersB
列出知識庫中所有客戶名稱,用於過濾特定客戶的知識
| Name | Required | Description | Default |
|---|---|---|---|
| includeStats | No | 是否包含各客戶的知識統計 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The description states it lists customer names and mentions filtering use, but it doesn't disclose important behavioral traits: whether this is a read-only operation, if it requires authentication, potential rate limits, pagination behavior, or what happens when no customers exist. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior and constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two clear parts: the core functionality and the usage context. Both sentences earn their place by providing essential information without redundancy. It's front-loaded with the main purpose. Minor improvement could be made by integrating the two ideas more seamlessly, but overall it's efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (1 optional parameter, no output schema, no annotations), the description is minimally adequate. It explains what the tool does and provides some usage context. However, without annotations or output schema, it should ideally disclose more about behavioral aspects (like whether it's safe/read-only) and what the return format looks like. The description meets basic requirements but leaves room for more completeness given the lack of structured data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the single parameter 'includeStats' fully documented in the schema. The description doesn't mention any parameters or add meaning beyond what the schema provides. According to the rules, when schema coverage is high (>80%), the baseline is 3 even with no parameter information in the description. The description doesn't compensate but doesn't need to given the comprehensive schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '列出知識庫中所有客戶名稱' (list all customer names in the knowledge base). It specifies the verb ('列出' - list) and resource ('客戶名稱' - customer names). However, it doesn't explicitly distinguish this from sibling tools like 'search_knowledge' or 'get_knowledge_item', which might also involve customers. The second part '用於過濾特定客戶的知識' (for filtering knowledge of specific customers) adds context but doesn't fully differentiate from alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context: it's for listing customer names to filter knowledge. However, it doesn't explicitly state when to use this tool versus alternatives like 'search_knowledge' or 'list_knowledge_types'. There's no guidance on prerequisites, exclusions, or specific scenarios where this tool is preferred. The implied context is helpful but lacks explicit comparison with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_knowledge_typesB
列出所有可用的知識類型及其說明,用於了解知識庫結構
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool lists knowledge types and descriptions, but doesn't disclose any behavioral traits such as whether it's read-only (implied but not stated), whether it requires authentication, rate limits, pagination behavior, or error conditions. For a tool with zero annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Chinese: '列出所有可用的知識類型及其說明,用於了解知識庫結構'. It's front-loaded with the core action ('列出所有可用的知識類型及其說明') and adds purpose without redundancy. Every word earns its place, making it appropriately concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (0 parameters, no output schema, no annotations), the description is minimally adequate. It states what the tool does and its purpose, but lacks details on behavioral aspects like safety, performance, or output format. Without annotations or output schema, the description should ideally provide more context about what '列出' entails (e.g., format, limitations), but it's complete enough for a simple listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100% (empty schema is fully described). The description doesn't need to add parameter semantics, and it appropriately doesn't mention any. With no parameters, the baseline is 4, as there's nothing to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '列出所有可用的知識類型及其說明' (list all available knowledge types and their descriptions). It specifies the verb ('列出' - list) and resource ('知識類型' - knowledge types), and adds the goal '用於了解知識庫結構' (for understanding the knowledge base structure). However, it doesn't explicitly differentiate from sibling tools like 'get_knowledge_graph' or 'search_knowledge', which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context: '用於了解知識庫結構' (for understanding the knowledge base structure) suggests this tool is for exploring metadata about knowledge types rather than querying content. However, it doesn't provide explicit guidance on when to use this vs. alternatives like 'get_knowledge_item' or 'search_knowledge', nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommend_knowledgeA
根據對話上下文和客戶特徵推薦相關知識。 可根據 Big Five 人格特質和健康分數進行個人化推薦:
openness: 開放性(高=喜歡延伸資訊,低=只要核心答案)
conscientiousness: 盡責性(高=詳細步驟,低=簡潔重點)
extraversion: 外向性
agreeableness: 親和性
neuroticism: 神經質(高=需要更多安撫) 健康分數 0-100,低分客戶需要更多關懷
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | 當前對話上下文或客戶問題 | |
| customerName | No | 客戶名稱(用於個人化) | |
| personalityScores | No | Big Five 人格特質分數(0-1) | |
| healthScore | No | 客戶健康分數 | |
| limit | No | 推薦數量上限 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does describe key behavioral aspects: the tool personalizes recommendations based on personality traits and health scores, and explains how different trait levels affect recommendations (e.g., high openness = extended information, low = core answers). However, it doesn't mention what format the recommendations come in, whether there are rate limits, authentication requirements, or potential side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the core purpose in the first sentence. The bullet points efficiently explain the personality traits without unnecessary elaboration. There's minimal waste, though the health score explanation could be slightly more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (5 parameters including nested objects) and absence of both annotations and output schema, the description does a reasonable job but has gaps. It explains the personalization logic well but doesn't describe the return format, error conditions, or what constitutes 'knowledge' in this context. For a recommendation tool with no output schema, more information about expected outputs would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the baseline is 3. The description adds meaningful context beyond the schema by explaining the semantic meaning of personality traits: how openness affects information depth preference, conscientiousness affects detail level preference, and neuroticism affects reassurance needs. This provides valuable guidance for parameter interpretation that isn't in the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '根據對話上下文和客戶特徵推薦相關知識' (recommend relevant knowledge based on conversation context and customer characteristics). It specifies the verb '推薦' (recommend) and resource '知識' (knowledge), and distinguishes itself from siblings like get_knowledge_item (retrieve specific item) or search_knowledge (general search) by focusing on personalized recommendations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: when you need '個人化推薦' (personalized recommendations) based on Big Five personality traits and health scores. It doesn't explicitly state when NOT to use it or name specific alternatives among the sibling tools, but the context is sufficiently clear for an agent to understand this is for recommendation rather than retrieval or listing operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
record_knowledge_feedbackB
記錄知識使用反饋,用於持續優化知識品質
| Name | Required | Description | Default |
|---|---|---|---|
| knowledgeId | Yes | 被使用的知識項目 UUID | |
| sessionId | No | 對話 session ID | |
| feedbackType | Yes | 反饋類型 | |
| context | No | 使用時的對話上下文 | |
| followUpQuestions | No | 用戶的後續問題(表示知識不完整) | |
| notes | No | 額外備註 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool records feedback for optimization, implying a write/mutation operation, but doesn't specify permissions needed, rate limits, idempotency, or what happens on success/failure. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Chinese: '記錄知識使用反饋,用於持續優化知識品質'. It's front-loaded with the core purpose and has zero wasted words, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (mutation with 6 parameters, no output schema, and no annotations), the description is minimally adequate. It states the purpose but lacks behavioral details, usage context, and output information. With 100% schema coverage, it's complete enough for basic understanding but insufficient for robust agent guidance without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 6 parameters with descriptions and enums. The description adds no additional meaning beyond the schema, such as explaining how parameters interact (e.g., 'followUpQuestions' indicates incomplete knowledge) or usage examples. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '記錄知識使用反饋,用於持續優化知識品質' (Record knowledge usage feedback for continuous optimization of knowledge quality). It specifies the action (record feedback) and the resource (knowledge usage), but doesn't distinguish it from sibling tools like 'recommend_knowledge' or 'search_knowledge' in terms of when to use each.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., after using knowledge in a session), exclusions, or how it differs from sibling tools like 'get_knowledge_item' for retrieval. Usage is implied only by the purpose statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_knowledgeA
搜尋企業知識庫。支援三種搜尋模式:
hybrid: 混合搜尋(關鍵字 + 語意),最佳平衡
semantic: 純語意搜尋,理解意圖但可能漏掉精確匹配
keyword: 純關鍵字搜尋,精確但可能漏掉同義詞
知識類型包含:product_info(產品資訊)、faq(常見問題)、policy(政策規定)、 announcement(公告)、tutorial(教學)、troubleshooting(故障排除)、 best_practice(最佳實踐)、case_study(案例研究)、glossary(術語)、other(其他)
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | 搜尋查詢文字 | |
| searchType | No | 搜尋模式 | hybrid |
| knowledgeTypes | No | 過濾特定知識類型(可選) | |
| customerName | No | 過濾特定客戶的知識(可選) | |
| limit | No | 返回結果數量上限 | |
| includeRelated | No | 是否包含相關知識(知識圖譜) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It explains search mode behaviors (e.g., semantic understands intent but may miss exact matches) and mentions knowledge graph inclusion via includeRelated parameter. However, it doesn't disclose critical behavioral traits like pagination, rate limits, authentication needs, error handling, or what the output looks like (no output schema).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with bullet points for search modes and knowledge types, making it easy to scan. It's appropriately sized for a tool with 6 parameters, though the knowledge type list is somewhat lengthy. Every sentence earns its place by explaining functionality without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 6 parameters and no output schema, the description provides good context about search modes and knowledge types but has significant gaps. It doesn't explain the output format, result ordering, pagination, error cases, or how it differs from sibling tools like recommend_knowledge. With no annotations and no output schema, more behavioral context would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 6 parameters thoroughly. The description adds some value by explaining the trade-offs between search modes and listing knowledge types, but doesn't provide additional semantic context beyond what's in the schema descriptions (e.g., how customerName filtering works, what 'related knowledge' means). Baseline 3 is appropriate when schema does heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches an enterprise knowledge base, specifying the verb 'search' and resource 'knowledge base'. It distinguishes itself from siblings like get_knowledge_item (retrieves specific items) and recommend_knowledge (suggests content) by focusing on query-based searching across multiple knowledge types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use different search modes (hybrid, semantic, keyword) based on trade-offs, but doesn't explicitly mention when to use this tool versus alternatives like recommend_knowledge or get_knowledge_graph. It lists knowledge types but doesn't guide on when to filter by them versus using list_knowledge_types first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
7 tool updates
v1.0.0- First observed
get_knowledge_graph - First observed
get_knowledge_item - First observed
list_customers - First observed
list_knowledge_types - First observed
recommend_knowledge - First observed
record_knowledge_feedback - First observed
search_knowledge
TDQS
Each tool has a clearly distinct purpose with no overlap: get_knowledge_graph retrieves relationship maps, get_knowledge_item fetches full content, list_customers and list_knowledge_types provide filtering metadata, recommend_knowledge offers personalized suggestions, record_knowledge_feedback captures usage data, and search_knowledge performs queries. The descriptions clearly differentiate their functions, preventing agent misselection.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., get_knowledge_graph, list_customers, search_knowledge). There are no deviations in naming conventions, making the set predictable and readable for agents.
With 7 tools, the count is well-scoped for an enterprise knowledge management system (EKMS). Each tool serves a specific role in knowledge retrieval, recommendation, feedback, and metadata handling, with no redundant or missing tools for the domain.
The tool surface covers core EKMS workflows: retrieval (get, search), metadata (list), recommendation, and feedback. Minor gaps exist, such as no explicit create, update, or delete tools for knowledge items, but agents can work around this by using existing tools for read-only operations and feedback for updates.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Connect your team's living knowledge base — docs, data, issues, CRM — to Claude and ChatGPT.
Search your knowledge bases from any AI assistant using hybrid RAG.
- platform7nOAuthtech.p7n
Connect Claude to your Platform7n workspaces — chat, links, and tasks. One-click OAuth.
Knowledge base MCP for AI agents on iknow.dev. Search, read, and maintain via OAuth.
Related MCP Servers
- FlicenseAqualityBmaintenanceEnables natural language query and ingestion of wiki knowledge bases built from documents, powered by Claude Agent SDK skills.2-
- AlicenseNot gradedqualityDmaintenanceEnables Claude Desktop to search custom knowledge bases using retrieval-augmented generation via a simple MCP tool.MIT
- AlicenseNot gradedqualityBmaintenanceEnables querying enterprise documents (DOCX, PDF, PPTX) using natural language, with hybrid search and MCP integration for Claude Desktop and other agents.MIT
- FlicenseNot gradedqualityDmaintenanceEnables Claude Desktop to query a local Zendesk Help Center knowledge graph for semantic search, article retrieval, content gap analysis, and editorial intelligence tasks.3-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/jihsin/ekms-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server