MCP-Knowledge-Toolbox
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., "@MCP-Knowledge-Toolboxsearch for 'hybrid retrieval benchmark results'"
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.
MCP-Knowledge-Toolbox
MCP-Knowledge-Toolbox is a local knowledge-base MCP toolbox built on top of the Project 1 DocuPilot-RAG baseline. Project 2 does not modify Project 1 core code. It packages local document ingest, retrieval, context reading, citation checking, and evaluation-report reading as MCP-callable tools.
This repository is currently an engineering MVP, not a production multi-tenant RAG platform.
Architecture
flowchart LR
A[Local Documents] --> B[Parser]
B --> C[Chunker]
C --> D[SQLite Metadata Store]
C --> E[Vector Index]
C --> F[BM25 Index]
E --> G[Hybrid Retriever]
F --> G
G --> H[Lightweight Reranker]
H --> I[MCP Tools]
I --> J[MCP stdio Client]
I --> K[Citation Verifier]
I --> L[Eval Report Reader]Related MCP server: MinerU Document Explorer
Tech Stack
Python 3.10/3.11 compatible code path
SQLite metadata store
MCP stdio JSON-RPC compatible MVP transport
Optional official MCP Python SDK when installed
sentence-transformers with
BAAI/bge-small-zh-v1.5as the default embedding modelhashing vector fallback when the embedding model is unavailable
PyMuPDF for PDF, python-docx for docx, native readers for Markdown/txt
pytest integration tests
Tools
The server exposes 11 tools:
ingest_file, ingest_folder, search_knowledge, read_chunk_neighbors, summarize_document, query_table, verify_citation, get_eval_report, list_documents, delete_document, server_status.
MCP Compatibility
Current implementation is an MCP stdio JSON-RPC compatible MVP. It can use the official MCP Python SDK if installed; otherwise it uses the built-in stdio JSON-RPC transport.
MCP capability | Status | Notes |
stdio transport | Supported | Used by |
| Supported | Returns protocol version, server info, and tool capability. |
| Supported | Returns all registered tool schemas. |
| Supported | Returns text content and structuredContent. |
notifications/initialized | Accepted | Notification is ignored safely. |
resources | Not implemented | No MCP resources are exposed yet. |
prompts | Not implemented | No MCP prompts are exposed yet. |
sampling | Not implemented | No LLM sampling bridge. |
streaming progress | Not verified | Tool calls are request/response only. |
official SDK mode | Optional | Depends on |
Reproduce From Scratch
From a fresh clone:
pip install -r requirements.txt
python scripts/ingest_demo_docs.py --input data/raw --collection demo
python scripts/build_index.py --collection demo
python scripts/run_mcp_stdio_client_demo.py
pytest testsExpected scale after ingest:
ingested files: 20
success: 20
failed: 0
chunks: 1201
documents: 20
collections: demo
embedding_provider: sentence-transformersEnd-to-End Demo
Generate the full E2E MCP log:
python scripts/run_e2e_demo.py --collection e2e --input data/raw --output docs/e2e_demo_log.mdThe log records:
MCP server startup through stdio subprocess
stdio client
initializetools/listtools/call ingest_foldertools/call list_documentstools/call search_knowledgetools/call read_chunk_neighborstools/call verify_citationfinal answer with citations
See docs/e2e_demo_log.md.
Retrieval Evaluation
Generate 50 QA samples and evaluate four retrieval strategies:
python scripts/run_retrieval_eval.py --collection demoOutputs:
data/eval/demo_qa.jsonldocs/retrieval_eval_report.md
Current measured metrics:
Strategy | Hit@3 | Hit@5 | MRR | Avg Latency (ms) |
bm25 | 0.400 | 0.400 | 0.400 | 193.55 |
vector | 0.340 | 0.340 | 0.340 | 82.97 |
hybrid | 0.460 | 0.460 | 0.460 | 84.71 |
hybrid_rerank | 0.460 | 0.460 | 0.460 | 80.97 |
Hybrid improved over individual retrieval modes on this demo set. Hybrid + rerank did not improve over hybrid; the report explains that the corpus is synthetic and repetitive, so first-stage retrieval already ranks many expected documents at the top.
Final Acceptance Artifacts
docs/e2e_demo_log.mddocs/retrieval_eval_report.mddocs/final_acceptance.mddata/eval/demo_qa.jsonl
Limitations
hashing vector is only a fallback when the sentence-transformers model is unavailable.
verify_citationis a lightweight keyword/similarity check, not an LLM judge.query_tableis Markdown table caption/content matching, not complex table reasoning.rerank is lightweight token-overlap reranking, not a cross-encoder reranker.
summarize_documentuses extractive summarization when no LLM is configured.current storage is local SQLite and local JSON indexes, not a distributed vector database.
current MCP support covers tools over stdio, not resources/prompts/sampling.
this is not a production-grade multi-tenant platform.
Resume Wording
MCP-Knowledge-Toolbox: a local knowledge-base MCP toolbox for Agent workflows. Built an MCP stdio JSON-RPC compatible server exposing 11 tools for document ingest, SQLite metadata management, sentence-transformers vector retrieval, BM25, hybrid retrieval, context reading, citation verification, document deletion sync, and evaluation report reading. Added an end-to-end stdio client demo, 50-sample retrieval evaluation, and 37 pytest tests. Demo acceptance reached 20 documents and 1201 chunks across Markdown, txt, docx, and PDF.
Available Tools
11 toolsdelete_documentD
delete_document
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It does not mention that the action is destructive, requires permissions, or has irreversible 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 extremely short but not functionally concise—it is underspecified. However, it doesn't contain unnecessary words.
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 one required parameter and no output schema, the description must explain what the tool does and its effects. It provides none, making it completely inadequate for safe usage.
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?
With 0% schema description coverage, the description should compensate but fails to add any meaning to the 'doc_id' parameter. The parameter's purpose remains entirely unclear.
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?
Tautological: description restates name/title.
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?
No guidance on when to use this tool versus alternatives. The description provides no context for use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_eval_reportD
get_eval_report
| Name | Required | Description | Default |
|---|---|---|---|
| collection | No | ||
| report_type | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description must disclose behavior. It does not indicate whether the tool reads or writes, what it returns, or any 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?
Extremely short, but lacks any substantive content. Under-specification rather than efficient communication.
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 tool with two parameters and no output schema, the description provides zero additional context. Completely inadequate for selection or invocation.
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 has 0% description coverage for parameters. Description adds no meaning beyond parameter names. Two optional parameters ('collection', 'report_type') are unexplained.
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?
Tautological: description restates name/title.
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?
No guidance on when to use this tool versus siblings like 'list_documents' or 'search_knowledge'. No context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ingest_fileD
ingest_file
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | ||
| collection | No | ||
| force_reindex | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description fails to disclose any behavioral traits such as whether the tool is destructive, requires authentication, or has side effects. The bare name 'ingest_file' implies ingestion but offers no details.
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?
While the description is extremely short, it is not usefully concise. It fails to earn its place by providing any functional information, making it under-specified rather than efficient.
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 three parameters, no annotations, and no output schema, the single-word description is wholly inadequate. The agent cannot understand the tool's purpose, behavior, or how to invoke it correctly.
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 0%, and the description does not explain any of the three parameters (file_path, collection, force_reindex). The agent receives no semantic guidance beyond the parameter names.
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?
Tautological: description restates name/title.
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?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or scenarios where it is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ingest_folderD
ingest_folder
| Name | Required | Description | Default |
|---|---|---|---|
| recursive | No | ||
| collection | No | ||
| file_types | No | ||
| folder_path | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description provides zero behavioral insights. It does not mention whether the operation is recursive, destructive, or requires permissions, leaving the agent blind to important traits.
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?
While extremely short, this is not conciseness but under-specification. The single word fails to convey any useful information, making it ineffective.
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 tool with 4 parameters and no schema coverage, the description provides no context. The absence of output schema or behavioral details makes the tool completely opaque to the agent.
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?
With 0% schema description coverage and no parameter descriptions in the tool description, the agent receives no hints about what parameters like 'recursive' or 'file_types' mean or how to use them.
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?
Tautological: description restates name/title.
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?
No guidance is provided on when to use this tool vs. siblings like 'ingest_file'. The description offers no context or alternatives, forcing the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_documentsD
list_documents
| Name | Required | Description | Default |
|---|---|---|---|
| collection | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No behavioral details beyond the name. No annotations exist, so description carries full burden but provides zero information.
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?
Extremely concise but at the cost of all necessary information; this is underspecification, not efficient conciseness.
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?
With no output schema, no annotations, and a single undocumented parameter, the description is completely inadequate for an agent to use the 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?
Neither schema nor description adds meaning to the 'collection' parameter; schema coverage is 0%.
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?
Tautological: description restates name/title.
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?
No guidance on when to use this tool vs alternatives like 'search_knowledge' or 'query_table'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_tableD
query_table
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| doc_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must convey behavioral traits (e.g., whether it reads or mutates, pagination, auth needs). It says nothing, leaving the agent blind.
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?
One word that provides zero value. This is not conciseness but omission.
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 two required parameters with no descriptions, no output schema, and no behavioral context, the description is completely inadequate. The agent has no clue about the tool's purpose or usage.
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 coverage is 0% and the description adds no meaning to 'query' or 'doc_id'. The agent cannot infer what the query should be (SQL? natural language?) or how doc_id is used.
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?
Tautological: description restates name/title.
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?
No guidance on when to use this tool vs alternatives (e.g., search_knowledge for broader search). No prerequisites or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_chunk_neighborsD
read_chunk_neighbors
| Name | Required | Description | Default |
|---|---|---|---|
| chunk_id | Yes | ||
| window_size | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must carry the full burden of behavioral disclosure. It provides no information about side effects, permissions, or other behavioral traits.
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 short (one word), but this is under-specification rather than conciseness. It fails to earn its place by providing any value.
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 two parameters and no output schema, the description is completely inadequate. It provides no context for successful invocation.
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 0%, and the description adds no meaning to the parameters 'chunk_id' and 'window_size'. The agent cannot infer their purpose or constraints.
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?
Tautological: description restates name/title.
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?
No usage guidance is provided. The description does not specify when to use this tool versus its siblings, nor any prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_knowledgeD
search_knowledge
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| top_k | No | ||
| collection | No | ||
| use_rerank | No | ||
| search_mode | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations and no behavioral disclosure. The description does not indicate whether the tool is read-only, destructive, or any 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?
Extremely short but not concise; it is an underspecification that fails to provide any useful information, wasting the opportunity.
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 5 parameters, no annotations, and no output schema, the description is completely inadequate for correct selection and invocation.
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 0% and the description provides zero information about the 5 parameters, leaving the agent unable to understand their purpose.
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?
Tautological: description restates name/title.
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?
No guidance on when to use this tool versus alternatives like 'query_table' or other search tools. No context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
server_statusD
server_status
| 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 disclosing behavior. The description says nothing about whether the tool is read-only, destructive, requires authentication, or has side effects. This is insufficient for an agent to understand the tool's behavior.
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 short, but this is due to under-specification, not conciseness. It does not earn its place because it adds no value. A concise description should efficiently convey purpose and behavior, which this does not.
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 simplicity (no parameters, no annotations, no output schema), the description is still completely inadequate. Even a simple tool like 'server_status' should explain what status information it returns. The current description leaves the agent with no useful information.
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?
Although the schema has no parameters (100% coverage), the description does not add any meaning. It merely repeats the tool name. The baseline for no-param tools is higher (3-4), but the description fails to provide any semantic context, earning a 1.
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?
Tautological: description restates name/title.
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?
No guidance is provided on when to use this tool versus alternatives. There is no mention of context, prerequisites, or exclusions. The description offers no help in deciding if 'server_status' is the appropriate tool for a given scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
summarize_documentD
summarize_document
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id | Yes | ||
| section | No | ||
| summary_type | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose all behavioral traits. It states nothing about side effects, authorization needs, rate limits, or output characteristics. The agent cannot infer whether this tool is read-only or mutating.
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 short but at the cost of being completely uninformative. This is under-specification, not conciseness. A one-word tautology wastes the opportunity to provide useful context.
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?
With 3 parameters, no output schema, and no annotations, the description must compensate by explaining the tool's behavior, return value, and parameter usage. It fails entirely, making the tool effectively unusable for an AI agent.
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 0%, meaning parameters 'doc_id', 'section', and 'summary_type' have no descriptions. The tool description adds no meaning to these fields, leaving the agent to guess their formats, allowed values, or semantics.
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?
Tautological: description restates name/title.
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?
No guidance is given on when to use this tool versus sibling tools like 'query_table', 'search_knowledge', or 'verify_citation'. The description does not mention any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_citationD
verify_citation
| Name | Required | Description | Default |
|---|---|---|---|
| answer | Yes | ||
| citations | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers no behavioral details. It fails to disclose any traits such as side effects, permissions, or return behavior.
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 brief but under-specifies the tool's functionality. Being concise is not beneficial when no useful information is conveyed.
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 two required parameters, no output schema, and no annotations, the description is completely inadequate. It fails to provide essential context for an agent to use the tool correctly.
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 0%, and the description adds no meaning to the two required parameters (answer, citations). The purpose of these parameters remains unexplained.
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?
Tautological: description restates name/title.
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?
No guidance is given on when to use this tool versus alternatives like search_knowledge or list_documents. The description lacks any context for appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have clearly distinct purposes (e.g., delete vs ingest vs search), but 'read_chunk_neighbors' could be confused with 'search_knowledge' without context; 'ingest_file' and 'ingest_folder' are similar but distinguished by the type of input.
The majority of tools follow the verb_noun pattern with lowercase underscores (e.g., delete_document, ingest_file). 'server_status' is a minor outlier (noun_noun) but still readable.
With 11 tools, the set is well-scoped for a knowledge management system, covering core operations without being too sparse or bloated.
The surface covers key operations: ingest, search, query, summarize, delete, and verification. An explicit 'get_document' or 'read_document' tool is missing, but search and chunk neighbors likely compensate.
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
Stateless agentic tools over MCP: concept extraction, long-context, knowledge graph, planning.
MCP-first toolbox for agents: KV storage, auth, queue, and utility tools. Free in early access.
Shared long-term memory vault for AI agents with 20 MCP tools.
Free public MCP for AI agents — 193 tools, 44 workflows. No API key.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to search, deep-read, and build knowledge bases from Markdown, PDF, DOCX, and PPTX documents via MCP tools for retrieval, document navigation, and ingestion.50627MIT
- AlicenseAqualityDmaintenanceA unified knowledge retrieval tool for MCP-compatible LLMs, enabling structured external knowledge access from local files and future integrations.14MIT
- AlicenseBqualityAmaintenanceProvides AI assistants with a local knowledge base and research library, enabling semantic and full-text retrieval, memory persistence, and multi-agent collaboration via 58 MCP tools.762MIT
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/lhhub10086/MCP-Knowledge-Toolbox'
If you have feedback or need assistance with the MCP directory API, please join our Discord server