doc-breach-mcp
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., "@doc-breach-mcpRead the Stripe API docs for creating a charge"
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.
Using DocBreach in production? We want to hear about it β Join the Discord β WAF horror stories, edge cases, and what you're building. The founder is in there.
π The Problem: Agentic Workflows Are Blind
We're in the era of autonomous AI Agents β but the web was built to repel bots, not serve them.
When your Claude, Cursor, or Windsurf tries to read an obscure API's documentation, it gets annihilated by:
Cloudflare WAFs throwing 403 CAPTCHAs at Node.js
fetch().Empty SPA shells (Next.js, Mintlify, GitBook) that render nothing without a $300M headless browser.
Legacy enterprise PDFs that crash the model's context window.
Login walls that lock public API references behind OAuth gates.
"AI-friendly" SaaS tools (Firecrawl, Jina, Context7) charging you $50/mo to read pages that are already public.
The LLM doesn't need a middleman. It needs raw signal.
Related MCP server: EasyPeasyMCP
βοΈ The Weapon: Guerrilla Architecture
DocBreach is a ruthless, 100% local MCP server. It doesn't ask for permission. It uses military-grade heuristics to extract clean, LLM-optimized Markdown from any developer portal β and it does it for free, forever.
Enemy Defense | DocBreach Tactical Override |
π‘οΈ Cloudflare / WAF 403 | Temporal Proxying β Hits a WAF? Silently pivots to the Wayback Machine. The docs from last week work just fine. |
βοΈ JavaScript SPA Walls | Hydration Hijacking β Rips |
πͺ Hidden iFrames | Source Chasing β Detects embedded Swagger/Postman/Stoplight apps, destroys the wrapper, resolves the true origin URL. |
π Legacy PDF Manuals | Native Brute-Force β In-memory PDF parsing. Your AI reads 2004 banking manuals like they're GitHub READMEs. |
π Login Walls | Wall Detection β Identifies OAuth/SSO gates instantly and tells the agent to pivot to public alternatives. |
π³οΈ Ghost Town Sites | Self-Healing Errors β No docs found? DocBreach guides the agent to search GitHub repos, SDK source code, or |
πΈ SaaS Scraping Taxes | Zero. Forever. Everything runs locally via Cheerio and Turndown. No API keys. No accounts. No telemetry. |
"The LLM shouldn't be smart at scraping. It should be smart at coding. DocBreach handles the dirty work."
π Quickstart
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"docbreach": {
"command": "npx",
"args": ["-y", "doc-breach-mcp"]
}
}
}Cursor / Windsurf
Add to your MCP settings:
{
"doc-breach": {
"command": "npx",
"args": ["-y", "doc-breach-mcp"]
}
}That's it. No API keys. No .env files. No sign-ups. It just works.
π§ How It Thinks
DocBreach gives your AI agent 4 precision tools and lets the model drive:
You: "Integrate with the Datadog API and list all monitors"
Agent β docs.discover({ query: "datadog API" })
β Found: docs.datadoghq.com/api/latest/ (openapi)
Agent β docs.map({ domain: "docs.datadoghq.com" })
β πΊοΈ Sitemap hierarchy, auto-generated Mermaid graph, and llms.txt discovery
Agent β docs.read({ url: "https://docs.datadoghq.com/api/latest/" })
β π Clean Markdown + nav links + auth requirements
Agent β docs.extract({ url: "https://api.datadoghq.com/api/v2/openapi.yaml", tag: "monitors" })
β π GET /api/v1/monitor β List all monitors
GET /api/v1/monitor/{id} β Get a monitor's details
POST /api/v1/monitor β Create a monitor
...
Agent: "I see the API requires DD-API-KEY and DD-APPLICATION-KEY headers,
and you need to select a DD_SITE (US1, EU, US3, US5, AP1)..."The model reasons. DocBreach retrieves. Nobody hallucinates.
The 11-Step Reader Pipeline
Every URL passes through a battle-hardened, 11-step extraction pipeline:
URL
β
ββ 1. Preflight ββββββββ HEAD check β Content-Type, size, reject >10MB
ββ 2. Fetch ββββββββββββ GET + Wayback Machine fallback on 403/503
ββ 3. Login Detection ββ OAuth/SSO wall? β abort + guide agent
ββ 4. Format Detection β OpenAPI? Postman? PDF? llms.txt? Markdown?
ββ 5. Binary Handling ββ PDF <5MB β in-memory parse
ββ 6. Spec Summary βββββ OpenAPI/Postman β structured Markdown
ββ 7. SPA Hydration ββββ __NEXT_DATA__, __NUXT__, readme-data, GitBook
ββ 8. Nav Extraction βββ Sidebar links β absolute URLs
ββ 9. iFrame Intel βββββ Swagger/Postman/Stoplight embed β true URL
ββ 10. HTML Cleaning βββ Cheerio β remove headers, footers, ads, nav
ββ 11. Markdown ββββββββ Turndown + boundary-aware truncation
β
βΌ
Clean, LLM-ready Markdownπͺ The Uncomfortable Truth
The developer tooling market has a parasite problem.
Companies like Firecrawl, Jina Reader, and Context7 take public documentation β pages that are freely accessible to any browser β wrap them in a proprietary API, and charge you a monthly subscription to access what was already yours.
They aren't adding value. They're adding a toll booth to the public internet.
DocBreach exists because:
Documentation is public. If a human can read it, an agent should too.
Scraping is a solved problem. Cheerio + Turndown have existed for a decade. You don't need a $20M startup to parse HTML.
Your AI runs locally. Why should it phone home to a SaaS to read a README?
This is not a product. This is a crowbar.
π DocBreach vs. The Toll Booths
DocBreach | Firecrawl | Jina Reader | Context7 | |
Cost | $0 | $50+/mo | $30+/mo | Free (limited) |
Runs locally | β | β Cloud | β Cloud | β Cloud |
No API keys | β | β | β | β |
No telemetry | β | β | β | β |
WAF bypass | β Wayback | β Paid proxy | β | β |
SPA extraction | β Hydration | β Headless | β | β |
PDF parsing | β Native | β | β | β |
OpenAPI extraction | β | β | β | β |
HATEOAS navigation | β | β | β | β |
Cognitive rules | β | β | β | β |
Open source | β MIT | Partial | β | β |
π§ Tools Reference
docs.discover
Find documentation sources for any service, library, or API.
docs.discover({ query: "stripe webhooks API" })
// β [ { url, title, type: "openapi", source: "probe" }, ... ]docs.map
Map the complete documentation structure of any domain. Extracts sitemaps, robots.txt, and llms.txt, returning an architectural blueprint.
docs.map({ domain: "docs.stripe.com" })
// β { total: 1200, sections: { "Root": [...], "API": [...] }, ... }docs.read
Read any documentation URL and return clean, LLM-ready Markdown.
docs.read({ url: "https://docs.stripe.com/webhooks" })
// β { content: "# Webhooks\n\n...", nav_links: [...], format: "html" }docs.search
Search for specific topics within a documentation site.
docs.search({ query: "authentication", site: "docs.stripe.com" })
// β [ { url: ".../authentication", title: "Authentication", ... } ]docs.extract
Extract structured endpoint information from OpenAPI/Swagger/Postman specs.
docs.extract({ url: "https://api.stripe.com/openapi/spec.json", tag: "charges" })
// β [ { method: "POST", path: "/v1/charges", summary: "Create a charge" }, ... ]π Beyond the MCP Specification
Google and Anthropic's official MCP best practices ask for "Single Responsibility," "Clear Descriptions," and "Structured Error Handling." That is the bare minimum.
Thanks to Vurb.ts, DocBreach elevates these concepts to the tenth power, operating years ahead of the standard protocol:
MVA Architecture (Model β View β Agent): Standard MCP returns raw JSON strings. We route everything through Fluent Presenters acting as smart egress firewalls, stripping noise before the LLM ever sees it.
HATEOAS Navigation: Instead of the agent guessing what to do next, every DocBreach response includes a
.suggestActions()payload telling the model exactly which tool to call next.JIT System Rules: Dynamic instructions injected mid-flight based on payload context (e.g., "The content was truncated, use search").
Self-Healing Errors: Standard MCP throws an error. DocBreach returns an error and the exact prompt/tool required to recover from it.
Server-Side Mermaid UI: Sends native
ui.mermaid()visual graphs to the MCP Inspector to help humans see the architecture the agent sees.State Sync & Cache Control: Emits
.cached()directives at the protocol level to eliminate duplicate requests and save LLM token context.
π License
MIT β because documentation should be free, and so should the tools that read it.
Available Tools
5 toolsdocs_discoverARead-only
[INSTRUCTIONS] Use this as the FIRST step when you need to find documentation. Use specific, descriptive queries. Example: "stripe API webhooks" instead of just "stripe". Combine your search intents into a single query. Do NOT call this tool in rapid loops β refine your query instead.
Find documentation sources for any service, library, or API [READ-ONLY]
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | What to search for (e.g., "datadog API monitoring endpoints") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds behavioral context: it is read-only and should not be called in rapid loops, providing valuable guidance beyond annotations.
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 reasonably concise and front-loaded with the key instruction. Each sentence adds value, though it could be slightly streamlined without losing important guidance.
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 description explains the tool's input well but does not describe the output format (e.g., what a documentation source looks like). Given the simple parameter set and annotations, the missing return description leaves some ambiguity.
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 input schema has 100% coverage with a description for the query parameter. The description adds rich semantic guidance: use specific, descriptive queries, combine intents, and provides an example, significantly enhancing understanding.
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: 'Find documentation sources for any service, library, or API'. It specifies it should be the first step, distinguishing it from sibling tools like docs_search which might be for more specific searches.
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 usage instructions: 'Use this as the FIRST step', examples of good queries, and a warning against rapid loops. It lacks explicit alternatives but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
docs_extractARead-only
[INSTRUCTIONS] Use this ONLY when docs.read has identified an OpenAPI/Swagger spec URL or Postman Collection. Provide a tag to filter endpoints by API group. If no tag is provided, returns a summary of all tags with endpoint counts.
Extract structured endpoint information from an OpenAPI, Swagger, or Postman spec [READ-ONLY]
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Filter by API tag (e.g., "monitors", "users") | |
| url | Yes | URL of the OpenAPI/Swagger spec or Postman Collection | |
| method | No | Filter by HTTP method | |
| search | No | Search endpoint descriptions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds context by noting it is 'READ-ONLY' and explains the dual behavior (summary without tag, filtered endpoints with tag). This goes beyond the safety profile to clarify the tool's operational characteristics.
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 (two sentences) and well-structured. It front-loads the usage condition and then explains behavior. The '[INSTRUCTIONS]' prefix is slightly redundant but not detrimental. No 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 no output schema, the description covers the main use cases (with/without tag, filtering by method/search). It could mention the output format but is adequate for an agent to understand the tool's purpose and behavior.
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 parameters are well-documented. The description adds value by explaining that omitting 'tag' returns a summary of all tags with endpoint counts, which is not in the schema. This clarifies default behavior and enhances interpretability.
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 extracts structured endpoint information from OpenAPI, Swagger, or Postman specs. It specifies the action (extract), resource (endpoint info from specs), and scope (filtering by tag). This distinguishes it from sibling tools like docs_read (which likely reads raw content) and docs_search (which searches).
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?
Explicitly instructs to use 'ONLY when docs.read has identified an OpenAPI/Swagger spec URL or Postman Collection.' It also explains behavior when tag is provided vs. not, giving clear guidance on when to use and what to expect.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
docs_mapARead-only
[INSTRUCTIONS] Use this as the FIRST step when exploring a new API or documentation site. Provide a domain (e.g., "stripe.com") and receive a complete table of contents with every documentation page organized by section. Then use docs.read on specific pages from the map.
Map the complete documentation structure of any domain [READ-ONLY]
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domain to map (e.g., "stripe.com", "docs.github.com") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description includes '[READ-ONLY]' which aligns with annotations (readOnlyHint: true). It adds that it returns a 'complete table of contents with every documentation page organized by section', providing behavioral context beyond annotations. However, it does not detail potential limitations or error conditions, which would be needed for a higher score.
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 the key instruction and purpose. It uses two clear sentences without unnecessary words. The structure is logical: instructional note, purpose, example, and guidance. It could be slightly more streamlined but is very 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's simplicity (one parameter, no output schema), the description explains the output type (table of contents organized by section) and provides a use case. It is complete enough for an agent to understand what to expect. Minor gaps like output format specifics are acceptable without an output schema.
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 input schema has 100% description coverage, with a clear description of the 'domain' parameter including examples. The description adds no additional semantic value beyond what is already in the schema, so the score is at the baseline of 3.
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 that the tool maps the complete documentation structure of any domain, and explicitly distinguishes its role as the first step when exploring a new API. The phrase 'Map the complete documentation structure' combined with the example usage provides a specific verb and resource, setting it apart from siblings like docs_read and docs_search.
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 explicitly instructs to use this tool as the FIRST step when exploring a new API, and advises subsequent use of docs.read on specific pages. This provides clear when-to-use guidance and mentions the follow-up tool. It could be improved by explicitly stating when not to use it (e.g., if the user already knows the structure), but it is still strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
docs_readARead-only
[INSTRUCTIONS] Reads a documentation page and returns clean Markdown. Handles HTML, JSON, YAML, OpenAPI specs, Postman Collections, PDFs (<5MB), and llms.txt. The response includes a "Related Documentation Links" section extracted from page navigation. ALWAYS check these links for authentication and getting-started pages before generating code.
Read any documentation URL and return clean, LLM-ready Markdown [READ-ONLY]
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full URL of the documentation page to read | |
| max_length | No | Maximum output length in characters (default: 20000) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, and the description adds specific behaviors: handles multiple formats (HTML, JSON, YAML, etc.), PDFs under 5MB, and returns related documentation links. Fully consistent with annotations and provides extra detail.
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 two paragraphs: one explaining functionality and one giving instructions. It is mostly concise but could be slightly more streamlined. The key information is front-loaded.
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 read tool with no output schema, the description fully explains the output format (Markdown) and includes handling of multiple input types and extraction of related links. Also provides actionable instructions for 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?
Input schema has 100% coverage with descriptions for both parameters. The description adds value by explaining the tool returns Markdown and handles various input formats, which is not in the schema. Slight redundancy but acceptable.
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 reads documentation pages and returns clean Markdown, listing supported formats. It distinguishes from sibling tools like docs_discover and docs_search by focusing on reading a specific page.
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?
Explicitly instructs to 'ALWAYS check these links for authentication and getting-started pages before generating code,' providing clear guidance on when and how to use the tool's output. Implicitly suggests using this tool for reading docs rather than discovering or extracting.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
docs_searchARead-only
[INSTRUCTIONS] Use this when you ALREADY know the documentation domain and need to find a specific page. Always provide the "site" parameter when searching within a known domain. Example: docs.search({ query: "authentication headers", site: "docs.stripe.com" })
Search for specific topics within a documentation site [READ-ONLY]
| Name | Required | Description | Default |
|---|---|---|---|
| site | No | Restrict search to this domain (e.g., "docs.stripe.com") | |
| query | Yes | What to search for (e.g., "authentication", "create webhook") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds context that it is a search operation and provides instructions for usage, which is consistent with annotations. No contradiction.
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 somewhat verbose, starting with an instruction block before the actual purpose. While it is clear, it could be more concise by front-loading the purpose and removing the meta-instruction format.
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?
Despite annotations and high schema coverage, the description lacks details about what the tool returns (e.g., page links, titles, summaries). This is a significant gap for a search tool with no output schema.
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 both parameters are well documented in the schema. The description minimally adds value by repeating the 'site' parameter's purpose and giving an example, but this does not significantly enhance understanding beyond 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 it searches for specific topics within a documentation site. It mentions knowing the domain first, which implies a contrast to exploration tools like docs_discover, but does not explicitly differentiate from siblings.
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 when-to-use context: 'when you ALREADY know the documentation domain and need to find a specific page.' It also advises providing the 'site' parameter and gives an example. However, it does not clearly state when not to use or list alternatives.
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: discovering sources, exploring structure, reading content, extracting specs, and searching within a known site. No overlap despite some similarity between discover and search.
All tools follow the consistent 'docs_verb' pattern with imperative verbs, making the set predictable and easy to navigate.
Five tools is an ideal size for a documentation assistant, covering core needs without excess.
The tool set covers the full workflow of finding, reading, mapping, and extracting documentation, with no obvious gaps for typical use cases.
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
Document-to-Markdown MCP server β convert PDF, Office and HTML into LLM-ready Markdown.
Hosted MCP server: convert PDFs to clean, LLM-ready Markdown with tables, formulas and OCR.
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors β no code.
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA locally-hosted MCP server that provides AI assistants with advanced web crawling capabilities, including structured data extraction, deep site crawling, and page screenshots. It enables users to convert single or multiple URLs into clean Markdown content for processing by LLMs without requiring external API keys for basic features.
- AlicenseNot gradedqualityCmaintenanceA lightweight, zero-config MCP server that makes documentation and API specifications instantly accessible to AI models using the llms.txt standard. It enables searching and retrieving full documentation, OpenAPI, and AsyncAPI specs without requiring a complex RAG infrastructure or vector database.161Apache 2.0
- AlicenseNot gradedqualityDmaintenanceMCP server that converts OpenAPI documentation to Markdown with tolerant parsing, enabling LLMs to batch query and explore APIs.161MIT
- AlicenseAqualityAmaintenanceA fast, dependency-light MCP server that converts web pages into clean Markdown, structured metadata, and classified links for language models.352MIT
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/vinkius-labs/doc-breach-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server