Dedalus MCP Documentation 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., "@Dedalus MCP Documentation Serversearch for rate limiting configuration in the docs"
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.
Dedalus MCP Documentation Server
An MCP server for serving and querying documentation with AI capabilities. Built for the YC Agents Hackathon.
Quick Start (Local Development)
# Install uv package manager (same as Dedalus uses)
brew install uv # or pip install uv
# Install dependencies
uv sync --no-dev
# Configure API keys for AI features
cp config/.env.example .env.local
# Edit .env.local and add your OpenAI API key
# Test
uv run python tests/test_server.py
# Run
uv run mainRelated MCP server: Dedalus MCP Documentation Server
Deploy to Dedalus
What Dedalus Needs
pyproject.toml- Package configuration with dependenciesmain.py(root) - Entry point that Dedalus expectssrc/main.py- The actual MCP server codedocs/- Your documentation files
Deployment Steps
Set Environment Variables in Dedalus UI:
OPENAI_API_KEY- Your OpenAI API key (required for AI features)
Deploy:
dedalus deploy . --name "your-docs-server"How Dedalus Runs Your Server
Installs dependencies using
uv syncfrompyproject.tomlRuns
uv run mainto start the serverServer runs in
/appdirectory in containerDocs are served from
/app/docs
Features
Serve markdown documentation
Search across docs
AI-powered Q&A (with OpenAI)
Rate limiting (10 requests/minute) to protect API keys
Ready for agent handoffs
Tools Available
list_docs()- List documentation filessearch_docs()- Search with keywordsask_docs()- AI answers from docsindex_docs()- Index documentsanalyze_docs()- Analyze for tasks
Documentation
See docs/ directory for:
License
MIT
Available Tools
5 toolsanalyze_docsC
Analyze documentation for specific tasks (foundation for agent handoffs)
Args:
task: Analysis task (e.g., "find_gaps", "generate_outline", "check_consistency")
docs: Optional list of specific documents to analyze
output_format: Output format (summary, detailed, structured)
Returns:
Analysis results ready for agent handoff
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | ||
| docs | No | ||
| output_format | No | summary |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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. It mentions the tool analyzes documentation and returns results 'ready for agent handoff', but doesn't disclose critical behavioral traits such as whether it modifies data (likely read-only but unspecified), performance characteristics, error handling, or authentication needs. The description is too brief to adequately inform an agent about how the tool behaves beyond basic input-output.
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. The Args and Returns sections are structured clearly, though the initial sentence could be more direct. There's minimal waste, but the phrase 'foundation for agent handoffs' is somewhat ambiguous and could be more precise.
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 with 0% schema coverage and an output schema exists, the description does a fair job. It explains parameter semantics well, but lacks behavioral context (no annotations) and usage guidelines. The output schema means the description doesn't need to detail return values, but overall completeness is moderate due to missing guidance and transparency.
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 description adds significant meaning beyond the input schema, which has 0% description coverage. It explains that 'task' is for analysis tasks like 'find_gaps', 'generate_outline', or 'check_consistency', 'docs' is an optional list of specific documents, and 'output_format' controls the output (e.g., summary, detailed, structured). This compensates well for the lack of schema descriptions, though it doesn't cover all possible parameter nuances.
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 states the tool 'Analyze documentation for specific tasks' which provides a clear verb ('analyze') and resource ('documentation'), but it's somewhat vague about what 'analyze' entails. It distinguishes from siblings like 'list_docs' or 'search_docs' by focusing on analysis rather than retrieval, but doesn't explicitly differentiate from 'ask_docs' which might also involve analysis. The phrase 'foundation for agent handoffs' adds context but doesn't clarify the core purpose.
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 like 'ask_docs' or 'search_docs'. It mentions this is a 'foundation for agent handoffs', which implies a specific context but doesn't specify when this tool is preferred over other analysis or documentation tools. No exclusions, prerequisites, or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ask_docsC
Answer questions about documentation using AI
Args:
question: The question to answer
context_docs: Optional list of document paths to use as context
max_context_length: Maximum characters of context to include
user_id: Optional user identifier for rate limiting
Returns:
AI-generated answer with sources
| Name | Required | Description | Default |
|---|---|---|---|
| question | Yes | ||
| context_docs | No | ||
| max_context_length | No | ||
| user_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'AI-generated answer with sources' but lacks critical details: rate limits (only hinted via user_id parameter), response format beyond 'with sources', error conditions, or performance characteristics. The description is insufficient for a 4-parameter AI tool.
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 clear sections (purpose, Args, Returns) and efficiently communicates core information. However, the 'Args' and 'Returns' headings are somewhat redundant with the schema and could be more integrated with the narrative flow.
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 4 parameters, 0% schema coverage, no annotations, but an output schema exists, the description is moderately complete. It covers basic parameter meanings and return type but lacks operational context about AI behavior, quality expectations, or integration with sibling tools. The output schema reduces but doesn't eliminate the need for behavioral explanation.
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%, so the description must compensate. It provides basic parameter explanations in the Args section, mapping to the 4 parameters. However, it doesn't explain parameter interactions (e.g., how context_docs and max_context_length relate), format expectations for document paths, or practical constraints for max_context_length.
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: 'Answer questions about documentation using AI' - a specific verb+resource combination. However, it doesn't distinguish this from sibling tools like 'search_docs' or 'analyze_docs', which might have overlapping functionality for documentation interaction.
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 like 'search_docs' or 'analyze_docs'. There's no mention of use cases, prerequisites, or exclusions. The agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_docsB
Index or re-index all documentation for improved search
Args:
rebuild: Whether to rebuild the entire index from scratch
Returns:
Indexing statistics
| Name | Required | Description | Default |
|---|---|---|---|
| rebuild | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 mentions that the tool performs indexing/re-indexing, implying a write operation that could be resource-intensive, but doesn't disclose critical traits like required permissions, whether it's idempotent, potential side effects (e.g., downtime during re-indexing), or rate limits. The return value is vaguely described as 'Indexing statistics' without detailing format or content.
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 and concise, with a clear purpose statement followed by dedicated 'Args' and 'Returns' sections. Every sentence adds value: the first explains the tool's function, and the subsequent lines document input and output semantics without redundancy. It's appropriately sized for a single-parameter tool.
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 (a write operation with one parameter) and the presence of an output schema (which should cover return values), the description is minimally adequate. It explains the tool's purpose and parameter semantics but lacks behavioral details (e.g., permissions, side effects) that are crucial for a mutation tool without annotations. The output schema likely handles 'Indexing statistics', so that gap is mitigated.
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 description adds meaningful context for the single parameter 'rebuild', explaining it as 'Whether to rebuild the entire index from scratch'. This clarifies the semantic difference between a standard index update and a full rebuild, which isn't evident from the schema alone (which has 0% description coverage and only shows a boolean with default false). For a tool with 1 parameter, this provides adequate compensation.
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: 'Index or re-index all documentation for improved search'. It specifies the verb ('index/re-index'), resource ('all documentation'), and outcome ('improved search'). However, it doesn't explicitly differentiate from sibling tools like 'analyze_docs' or 'list_docs', which might have overlapping search-related functions.
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 like 'search_docs' or 'analyze_docs'. It mentions the purpose but doesn't specify contexts, prerequisites, or exclusions for usage. The agent must infer usage from the tool name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_docsB
List all available documentation files
Args:
directory: Optional subdirectory to list (relative to docs root)
Returns:
List of document metadata
| Name | Required | Description | Default |
|---|---|---|---|
| directory | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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. It mentions returning 'List of document metadata' but doesn't disclose behavioral traits like pagination, rate limits, authentication needs, or what 'metadata' includes. For a tool with no annotations, this leaves significant gaps in understanding its operation.
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 highly concise and well-structured: a clear purpose statement, followed by 'Args' and 'Returns' sections with brief explanations. Every sentence earns its place, and it's front-loaded with the main functionality. No wasted words or 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?
Given the tool's low complexity (one optional parameter) and the presence of an output schema (which handles return values), the description is somewhat complete. However, with no annotations and minimal behavioral disclosure, it lacks depth for safe and effective use. It's adequate but has clear gaps in guidance and transparency.
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 description adds meaningful context for the single parameter: it explains that 'directory' is an 'Optional subdirectory to list (relative to docs root)', which clarifies its purpose beyond the schema's basic title. With 0% schema description coverage and only one parameter, this compensation is effective, though not exhaustive.
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 documentation files' specifies the verb (list) and resource (documentation files). It distinguishes from siblings like 'search_docs' (searching) and 'analyze_docs' (analysis), though it doesn't explicitly mention these distinctions. The purpose is specific but could be more precise about scope.
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 like 'search_docs' or 'index_docs'. The description implies it lists all files, but it doesn't specify use cases, prerequisites, or exclusions. Without such context, an agent might misuse it when a more targeted tool is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_docsA
Search documentation using keyword matching (semantic search ready)
Args:
query: Search query string
max_results: Maximum number of results to return
search_content: Whether to search in document content
search_titles: Whether to search in document titles
Returns:
List of matching documents with relevance scores
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No | ||
| search_content | No | ||
| search_titles | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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. It mentions 'semantic search ready', hinting at advanced search capabilities, but doesn't disclose behavioral traits like rate limits, authentication needs, or whether results are paginated. The description adds some value but leaves significant gaps for a tool with no annotation coverage.
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 and front-loaded with the core purpose, followed by clear sections for 'Args' and 'Returns'. Every sentence adds value without redundancy, making it efficient and easy to parse for an AI agent.
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 (4 parameters, no annotations), the description covers the purpose, parameters, and return values adequately. The presence of an output schema means it doesn't need to explain return details, but it lacks context on usage guidelines and some behavioral aspects, keeping it from a perfect score.
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%, so the description must compensate. It lists all four parameters with brief explanations (e.g., 'Search query string'), adding meaning beyond the schema's titles. However, it doesn't detail constraints like query length limits or default behaviors, preventing a perfect score.
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: 'Search documentation using keyword matching (semantic search ready)'. It specifies the verb ('search'), resource ('documentation'), and method ('keyword matching'), but doesn't explicitly differentiate it from sibling tools like 'analyze_docs' or 'ask_docs', 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 like 'analyze_docs', 'ask_docs', or 'list_docs'. It lacks context about scenarios where keyword search is preferred over other methods, leaving the agent to infer usage based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose with no overlap: analyze_docs performs analysis tasks, ask_docs answers questions via AI, index_docs handles indexing, list_docs enumerates files, and search_docs performs keyword searches. The descriptions reinforce these distinct roles, making tool selection unambiguous for an agent.
All tools follow a consistent verb_noun pattern with snake_case naming (e.g., analyze_docs, ask_docs, index_docs, list_docs, search_docs). This predictable structure enhances readability and usability, with no deviations or mixed conventions across the set.
With 5 tools, this server is well-scoped for documentation management, covering core operations like listing, searching, indexing, analyzing, and querying. Each tool earns its place without redundancy, making the count appropriate for the domain's typical workflows.
The tool set provides complete coverage for documentation management, including CRUD-like operations (list, search, index) and advanced AI functionalities (analyze, ask). There are no obvious gaps; agents can perform end-to-end tasks from discovery to analysis without dead ends.
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
Team docs served to AI agents over MCP - search, Markdown reads, version pinning, read audit.
Versioned documentation registry and semantic search for AI tools and coding assistants.
Docs Q&A: search 169 data and AI guides, fetch any page as markdown. Read-only, keyless.
Ingest, manage, and retrieve documents for RAG-powered AI applications
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceEnables AI assistants to enhance their responses with relevant documentation through a semantic vector search, offering tools for managing and processing documentation efficiently.2263MIT
- AlicenseNot gradedqualityNot gradedmaintenanceEnables serving and querying documentation with AI capabilities, allowing users to search, ask questions, and get AI-powered answers from their documentation files. Built for seamless deployment on the Dedalus platform with OpenAI integration for enhanced document analysis.
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI-powered querying and serving of markdown documentation with search, Q\&A capabilities, and document analysis. Built for the YC Agents Hackathon with OpenAI integration and rate limiting protection.
- AlicenseNot gradedqualityDmaintenanceEnables serving and querying documentation with AI-powered capabilities including markdown file serving, keyword search, and intelligent Q\&A using OpenAI integration.MIT
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/kitan23/Python_MCP_Server_Example_2'
If you have feedback or need assistance with the MCP directory API, please join our Discord server