agentic-knowledge
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., "@agentic-knowledgeHow do I implement authentication?"
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.
🧠 Agentic Knowledge
Search any documentation as if you had written it yourself
An MCP server that guides AI assistants to navigate documentation using their built-in tools (grep, file reading) instead of traditional RAG. Leverages ever growing capabilities of large language models, better tool-calling and interpretation and agentic search patterns for precise, intelligent documentation discovery.
🎯 What Is This For?
Give your AI assistant access to any documentation—yours or third-party—so it can find answers as naturally as you would. No embeddings, no vector databases, no complex infrastructure.
Perfect for:
📚 Project documentation - Your team's internal docs, APIs, guides
🔧 Framework references - React, TypeScript, MCP SDK, any library
🏢 Enterprise knowledge - Company wikis, architecture docs, runbooks
🌐 Open source projects - Clone any repo's docs for instant access
Related MCP server: Documentation Retrieval MCP Server (DOCRET)
🚀 Quick Start
1. Configure an MCP Client
Add to your coding agent config something along the lines of
{
"mcpServers": {
"agentic-knowledge": {
"command": "npx",
"args": ["-y", "@codemcp/knowledge@latest"]
}
}
}2. Set Up Your First Docset
Option A: Use the CLI (Recommended)
# For a Git repository
npx @codemcp/knowledge create \
--preset git-repo \
--id react-docs \
--name "React Documentation" \
--url https://github.com/facebook/react.git
# Initialize (downloads the docs)
npx @codemcp/knowledge init react-docs
# The MCP server starts automatically when Claude Desktop launchesOption B: Manual Configuration
Create .knowledge/config.yaml:
version: "1.0"
docsets:
- id: my-docs
name: My Project Documentation
sources:
- type: local_folder
paths: ["./docs"]3. Use It
Your AI assistant now has access to search_docs and list_docsets tools. Ask questions naturally:
"How do I implement a cleanup function in React useEffect?"
"Show me the authentication setup in our docs"
"Find examples of rate limiting in the API docs"The assistant will receive intelligent navigation instructions and use grep/file reading to find the exact information.
📖 Documentation
User Guide - Detailed CLI commands, lifecycle, configuration
Examples - Configuration examples and integration guides
Testing Guide - Comprehensive testing documentation
💡 How and Why It Works
The Paradigm Shift
Traditional RAG (Retrieval-Augmented Generation) was built for the context-poor era when models had 8K token limits. It:
Chunks documents (losing relationships)
Computes embeddings (missing precise terminology)
Retrieves fragments (losing context)
Requires massive infrastructure (vector DBs, rerankers)
Agentic Knowledge leverages modern AI capabilities:
✅ 200K+ token context windows - Can read entire documentation sets
✅ Powerful filesystem tools - grep, ripgrep, file reading built-in
✅ Intelligent navigation - Provides search strategies, not fragments
✅ Zero infrastructure - Just a config file and your docs
From Retrieval to Navigation
Traditional RAG says: "Here are 50 fragments that mention your keywords"
Agentic Knowledge says:
"Search for 'useState' in ./docs/react-18.2/hooks/. If that doesn't help, try 'state management' in ./docs/patterns/. Follow any 'See also' references you find."
The difference? Guidance over fragments. Investigation over retrieval.
How It Actually Works
Configure docsets - Point to local folders or Git repositories
Initialize - Downloads/symlinks documentation to
.knowledge/docsets/MCP server - Exposes
search_docsandlist_docsetstoolsAI searches - Gets navigation instructions, uses grep/file tools
Finds answers - Reads complete documents with full context
Performance:
Setup: Seconds (vs hours for RAG indexing)
Response: <10ms (vs 300-2000ms for RAG)
Infrastructure: None (vs Elasticsearch + Vector DB)
Accuracy: Complete context (vs fragment-based)
Inspired By
This approach is inspired by The RAG Obituary by Nicolas Bustamante and how Claude Code revolutionized code analysis by ditching RAG for direct filesystem exploration.
🚀 Local Development
# Install dependencies
pnpm install
# Start development mode
pnpm dev
# Run tests
pnpm test
# Build all packages
pnpm buildSee User Guide for installation from source.
🤝 Contributing
This project follows a structured development workflow. See our development documentation for contribution guidelines.
📄 License
Distributed under the MIT License. See LICENSE file for details.
Available Tools
3 toolsinit_docsetA
Initialize a docset by downloading and preparing its content sources. Run this when a docset is configured but not yet initialized.
📚 AVAILABLE DOCSETS TO INITIALIZE: • mcp-typescript-sdk (MCP TypeScript SDK) • vitepress-docs (VitePress Documentation) • local-docs (Local Documentation)
| Name | Required | Description | Default |
|---|---|---|---|
| force | No | Force re-initialization even if the docset already exists. | |
| docset_id | Yes | The identifier of the docset to initialize. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It mentions 'downloading and preparing' but does not disclose side effects, network requirements, or behavior if the docset already exists. The force parameter implies overwriting, but the prose does not explain consequences or safety.
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 concise and front-loaded, with a clear main sentence followed by a useful list of available docsets. The emoji formatting is slightly extra but not wasteful.
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?
The tool is relatively simple, but the description lacks important edge-case information such as what happens if the docset is already initialized, return values, or potential long-running behavior. Given no output schema, more detail would improve 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?
Schema coverage is 100%, so the baseline is 3. The description lists available docset values, but this is redundant with the enum in the schema. It adds no additional meaning about the force parameter or how parameters interact.
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 'Initialize a docset by downloading and preparing its content sources,' using a specific verb and resource. It is distinct from sibling tools like search_docs and list_docsets, which are about querying and listing.
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?
Provides an explicit usage condition: 'Run this when a docset is configured but not yet initialized.' However, it does not mention when not to use it or alternatives, such as using list_docsets to check initialization status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_docsetsA
List all available documentation sets (docsets) with detailed information. Note: The search_docs tool already shows available docsets in its description, so this tool is mainly for getting additional metadata.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the burden of disclosing behavioral traits. It implies a read-only list operation and mentions 'additional metadata' but does not specify what 'detailed information' includes, nor does it address potential prerequisites (e.g., whether docsets need to be initialized via init_docset) or return structure. This leaves key behavioral aspects undisclosed, but the simple nature of listing with no params mitigates the gap.
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 concise, consisting of two sentences. The first sentence states the core function, and the second sentence provides a relevant usage note about search_docs. Every sentence earns its place with no redundancy or filler.
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?
While the tool is simple (0 params, no output schema), the description is vague about what 'detailed information' includes. An agent would need to invoke the tool to discover the exact metadata, which is a gap since the description is the only source of return-value information. The note about search_docs helps clarify positioning, but the lack of detail about the output makes it incomplete for an agent deciding if this tool meets its needs.
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 zero parameters, so the schema is empty. The description does not need to explain parameters, and with no parameters, there is nothing to clarify. According to the rubric, 0 params yields a baseline of 4, which is appropriate here—the description adds no parameter semantics, but none are required.
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 verb 'List' and the resource 'all available documentation sets (docsets)' with 'detailed information' as the purpose. It distinguishes from the sibling tool search_docs by explicitly noting that it provides additional metadata, making its unique role clear.
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 explicit guidance on when to use this tool versus the search_docs sibling: 'The search_docs tool already shows available docsets in its description, so this tool is mainly for getting additional metadata.' This tells the agent when to choose list_docsets over the alternative, effectively serving as a clear usage directive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_docsA
Search for documentation in available docsets. Returns file path, line number, matched content, and surrounding context lines.
📚 AVAILABLE DOCSETS: • mcp-typescript-sdk (MCP TypeScript SDK) - Official TypeScript SDK for Model Context Protocol • vitepress-docs (VitePress Documentation) - VitePress static site generator documentation • local-docs (Local Documentation) - Local documentation: ./docs
| Name | Required | Description | Default |
|---|---|---|---|
| pattern | Yes | The search pattern (regex) to find in the documentation. Supports full regex syntax (e.g. "log.*Error", "function\s+\w+", "auth|login"). Returns file path, line number, matched line, and surrounding context lines. ⚠️ IMPORTANT: This is a regex pattern, NOT a list of keywords. Spaces are literal (match a space character). To search for multiple alternative terms, use | (pipe): e.g. "auth|login" matches lines containing either "auth" OR "login". | |
| docset_id | Yes | Choose the docset to search in. | |
| context_lines | No | Number of lines to show before and after each matching line (default: 2). Set to 0 for just the matching lines, or increase for more context. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden. It discloses the return format (file path, line number, matched content, context lines), the regex nature of the pattern with examples and warnings, and the available docsets. This goes beyond a simple generic description.
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 concise and front-loaded: it starts with the purpose, then lists available docsets. The regex explanation is detailed but necessary to prevent misuse, and every sentence adds value 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?
With no output schema, the description explains return values (file path, line number, matched content, context lines). It also covers docset enumeration and regex nuances. For a search tool with 3 parameters, this is complete enough for an agent to invoke 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?
The schema already covers all parameters with descriptions (100% coverage), so the baseline is 3. The description adds extra value for the 'pattern' parameter by giving example regexes and warning that spaces are literal and to use '|' for alternatives, which is not fully captured in the 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 with a specific verb ('Search') and resource ('documentation in available docsets'), and it distinguishes itself from sibling tools (list_docsets, init_docset) by focusing on searching rather than listing or initializing.
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?
It provides clear context: search across available docsets, lists those docsets, and explains return format. It doesn't explicitly mention when not to use or alternative tools, but the context is clear enough an agent would know this is for searching docs, not for listing or initializing docsets.
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.
3 tool updates
v2.2.11- First observed
init_docset - First observed
list_docsets - First observed
search_docs
TDQS
Each tool targets a distinct action (search, list, init), but search_docs also lists available docsets, creating a minor overlap with list_docsets. Despite this, the tools are clearly differentiated by their core purposes.
All tool names follow the verb_noun snake_case pattern: search_docs, list_docsets, init_docset. This is consistent and predictable.
Three tools is within the ideal 3-15 range, and each tool serves a necessary function without redundancy. The count is well-scoped for the server's documentation search purpose.
The set covers the complete lifecycle: init_docset for setup, list_docsets for discovery, and search_docs for querying. No obvious gaps exist for the intended use case.
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
An MCP server that gives your AI access to the source code and docs of all public github repos
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
MCP server for agentverse documentation, generated by doc2mcp.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server implementation that provides tools for retrieving and processing documentation through vector search, enabling AI assistants to augment their responses with relevant documentation context22265MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI assistants to access up-to-date documentation for Python libraries like LangChain, LlamaIndex, and OpenAI through dynamic fetching from official sources.1MIT
- AlicenseNot gradedqualityDmaintenanceA simple MCP server for local documentation with RAG capabilities, enabling AI assistants to access and search local documents.2MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that provides tools for retrieving and processing documentation through vector search, enabling AI assistants to augment their responses with relevant documentation context.17MIT
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/codemcp/knowledge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server