mcp-doc-search
Planned integration with SingleStore as a retrieval backend for scalable documentation search.
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-doc-searchsearch docs for MCP"
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 Doc Search
MCP Document Search Server
Overview
This project was built as a hands-on exercise to understand the Model Context Protocol (MCP) by implementing all three core MCP primitives:
Prompts
Tools
Resources
The final outcome is a simple documentation search MCP server that exposes:
A
search_docstool for searching documentationDynamic resources representing documents stored in a local
docs/folder
The server can be tested and explored using the MCP Inspector.
Related MCP server: MCP Docs Server
MCP Concepts Learned
1. Prompts
Prompts are reusable instruction templates exposed by an MCP server.
Pattern:
prompts/listprompts/get
Example:
simpleA client can discover available prompts and retrieve the prompt content.
2. Tools
Tools expose executable functionality.
Pattern:
tools/listtools/call
Examples implemented during learning:
fetch
add
multiply
search_docsA tool receives arguments, performs some action, and returns structured results.
3. Resources
Resources expose data that can be read by a client.
Pattern:
resources/listresources/read
Examples:
```text
docs://mcp
docs://architecture
docs://retrievalResources represent existing data and are analogous to files or documents.
MCP Mental Model
Tool = Function
Resource = File
Prompt = TemplateExamples:
search_docs("MCP") -> Tool
docs://mcp -> Resource
code-review-template -> PromptCurrent Architecture
MCP Client
│
├── search_docs(query) [Tool]
│
└── docs://* [Resources]
│
└── read_resource()Search Flow
User Query
↓
search_docs("MCP")
↓
Returns matching resource URIs
↓
docs://mcp
↓
read_resource("docs://mcp")
↓
Returns document contentThis demonstrates the common MCP pattern:
Tool → Resource ChainProject Structure
doc-search/
│
├── README.md
├── pyproject.toml
│
└── mcp_doc_search/
│
├── __init__.py
├── __main__.py
├── server.py
│
└── docs/
├── architecture.txt
├── retrieval.txt
└── mcp.txtFeatures
Tool: search_docs
Input:
{
"query": "MCP"
}Behavior:
Searches all
.txtfiles in thedocsdirectoryPerforms a case-insensitive search
Returns matching resource URIs
Example output:
docs://mcpResources
Resources are generated dynamically from the docs directory.
Examples:
docs://mcp
docs://architecture
docs://retrievalReading a resource returns the document content.
Testing
The server can be tested using MCP Inspector.
Example configuration:
Command:
uvArguments:
run python -m mcp_doc_searchThe Inspector can then:
List tools
Call
search_docsList resources
Read resources
Key Takeaways
MCP follows a consistent discovery and execution pattern.
Tools are used for actions and discovery.
Resources are used for retrieving known content.
Prompts are reusable instruction templates.
Many knowledge and retrieval servers follow a Tool → Resource architecture.
The MCP layer remains stable even when the retrieval implementation evolves from simple file search to BM25, vector search, hybrid search, or databases.
Future Improvements
BM25 search
Vector search
Hybrid search
SingleStore integration
Result ranking and scoring
Resource metadata
Claude Desktop / Cursor integration
Retrieval-Augmented Generation (RAG)
create venv: uv venv Go to correct toml file and run: uv sync uv run python -m mcp_simple_prompt --help
uv run python -m mcp_doc_search --help
Install inspector: npx @modelcontextprotocol/inspector and runs it port:6274 (For stdio transport, Inspector itself launches the server, so need not run uv run mcp-simple-prompt in another terminal) or run python -m mcp_doc_search in the arguments
Enter the proxy token or launch the Proxy configured url and enter-> Command: uv and arguments: run mcp-simple-prompt
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/gituser5525/mcp-doc-search'
If you have feedback or need assistance with the MCP directory API, please join our Discord server