byjg-docs-mcp
OfficialClick on "Deploy 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., "@byjg-docs-mcpsearch docs for how to map a table to a class"
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.
sidebar_key: mcpserver-byjg-docs tags: [ai, python, docker]
ByJG Docs MCP Server
An MCP server that gives AI assistants semantic search over the documentation of every ByJG open source project -- the same content published at opensource.byjg.com.
Connect your assistant and it can answer questions about the ByJG libraries (MicroOrm, RestServer, Gluo, EasyHAProxy, ...) and cite the documentation page each answer came from.
Related MCP server: Databricks Docs MCP Server
Endpoint
URL |
|
Transport | Streamable HTTP |
Authentication | None -- the documentation is public, so no token is needed |
The URL must end in /mcp.
Most clients accept this shape; the exact file and keys vary per client:
{
"mcpServers": {
"byjg-docs": {
"url": "https://mcpdocs.byjg.com/mcp"
}
}
}Running your own copy? It can require a bearer token instead -- see Authentication.
Add it to your client
Client | Setup | One-click |
Claude Code (CLI) | ||
Claude Desktop | ||
Codex CLI | ||
Gemini CLI | ||
Cursor | ||
VS Code | ||
VS Code Insiders | ||
Visual Studio | ||
JetBrains IDEs | ||
Goose | ||
LM Studio |
The one-click badges hand the endpoint straight to the client, which then asks you to confirm; everything else is the manual configuration on the client page. Connection problems: Troubleshooting.
Neither path installs from a registry. The server is published in the
official MCP Registry as com.byjg/docs, for discovery and provenance: see
The MCP Registry entry.
Tools
Tool | Purpose |
| Ranked passages, each with its public URL |
| Full markdown of one page |
| Inventory of what is indexed |
query accepts natural language ("how do I map a table to a class") or an
exact symbol name (TableAttribute) -- both work. See
the tools in detail.
Privacy
The server records each tool call -- the query, its filters and how well the documentation matched -- to find what the docs do not cover yet. The log stays on the server and is not shared. Do not put secrets in a query.
Development
To run the server yourself, self-host it, or change the code, see Development.
Available Tools
3 toolsget_documentRead a documentation pageAInspect
Return the full markdown of one documentation page, addressed by the source path reported in a search result (for example php/micro-orm/active-record.md). Use it when a search hit is relevant but truncated and you need the whole page.
| Name | Required | Description | Default |
|---|---|---|---|
| source_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of clarifying behavior; it clearly states the operation is a read that returns full markdown, not a mutation or search. It does not spell out failure behavior for invalid source paths, but for a simple read tool with an output schema that is a minor omission.
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?
Two sentences with no filler; the core behavior is first, the addressing constraint second, and the usage trigger is folded into the final clause. Every phrase adds operational 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?
For a one-parameter read operation with an output schema and sibling tools that handle search and listing, this description provides the path source, an example, and the condition that should trigger the call. Nothing operationally necessary is missing.
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%, but the description fully compensates by explaining that source_path is the source path from a search result and giving a concrete example ('php/micro-orm/active-record.md'). The agent knows exactly what value to pass and where to find it.
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 an explicit verb-result pair ('Return the full markdown') and the resource ('one documentation page'), plus the addressing mechanism ('source path'). It is easily distinguishable from siblings: search_docs finds hits, list_projects lists projects, get_document retrieves an individual 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?
It gives a clear trigger: 'Use it when a search hit is relevant but truncated and you need the whole page.' It also tells the agent to obtain the path from a search result. It doesn't enumerate exclusions like 'do not use it to browse all documents,' but the stated condition is sufficient for a single-purpose retrieval tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsList documented projectsAInspect
Inventory of everything indexed, grouped by category and project, with document and passage counts. Use it to discover which ByJG libraries have documentation before searching.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 behavioral disclosure burden. It discloses that the tool returns a complete inventory grouped by category and project with document and passage counts, and its list-oriented nature with no parameters implies a safe, read-only 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?
Two sentences with zero filler. The core output scope and grouping are front-loaded first, and the usage guidance is placed second, making the description efficient and easy to parse.
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 zero-parameter tool, the description covers what is returned, how it is organized, and when to use it. An output schema exists, so the description correctly does not repeat return-field details.
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, and the baseline for parameter semantics is 4. The description adds no parameter details because none are needed; there is nothing for an agent to configure or misinterpret.
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 a clear verb and resource: 'Inventory of everything indexed, grouped by category and project, with document and passage counts.' This distinguishes it from siblings like search_docs and get_document by framing it as a discovery tool to use before searching.
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 says 'Use it to discover which ByJG libraries have documentation before searching,' clearly indicating when to invoke it. It implies searching is the alternative but does not explicitly name the sibling tools; however, sibling names are available in context, making the guidance effective.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_docsSearch ByJG documentationAInspect
Search the ByJG open source documentation and return the most relevant passages, each with its public URL. Combines semantic and keyword matching, so both natural-language questions ('how do I map a table to a class') and exact symbol names ('TableAttribute') work. Optionally narrow to a category (php, devops, js, ai, helm) or a project (micro-orm, restserver, docker-easy-haproxy, ...).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| project | No | ||
| category | 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 behavioral disclosure burden. It does disclose return contents (passages with public URLs) and the dual matching strategy, but it omits details like what the limit parameter controls, pagination behavior, and whether any auth/rate limits apply.
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?
Three tight sentences: the first states the core action and output, the second clarifies matching behavior with concrete examples, and the third covers optional filters. No filler 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 an output schema exists, return values are already covered structurally. The description is complete for query understanding and filtering, but the missing limit semantics and lack of explicit sibling routing leave a small gap in full invocation confidence.
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%, so the description must compensate. It adds meaning for query ('natural-language questions and exact symbol names work') and for category/project with concrete examples, but it says nothing about the limit parameter, which remains ambiguous despite its default of 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?
States a specific verb and resource: 'Search the ByJG open source documentation and return the most relevant passages, each with its public URL.' This clearly distinguishes it from siblings like get_document (full document retrieval) and list_projects (project enumeration).
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 gives helpful usage context: it supports natural-language questions and exact symbol names, and optionally narrows by category or project. However, it never explicitly tells the agent when to prefer get_document or list_projects instead.
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.
3 tool updates
v0.1.0- First observed
get_document - First observed
list_projects - First observed
search_docs
TDQS
Scored across 3 tools
Each tool has a clearly distinct role: search_docs finds relevant passages, get_document retrieves a full page, and list_projects provides an inventory. There is no functional overlap or ambiguity between them.
All tool names follow a consistent verb_noun snake_case pattern: search_docs, get_document, list_projects. The naming is predictable and easy for an agent to infer.
Three tools is well-scoped for a documentation MCP server: discover, search, and retrieve. Each tool earns its place with no redundancy or unnecessary surface area.
The tool set covers the full documentation workflow: list_projects provides the inventory, search_docs finds relevant content, and get_document retrieves full pages. There are no obvious missing operations for the stated purpose.
Maintenance
Related MCP Connectors
Versioned documentation registry and semantic search for AI tools and coding assistants.
Search and read Vector Panda docs: API operations, pricing, storage tiers, measured benchmarks.
Ingest, manage, and retrieve documents for RAG-powered AI applications
Token-efficient search for coding agents over public and private documentation.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables semantic search across multiple AI library documentations to keep coding assistants up-to-date.11-
- FlicenseNot gradedqualityDmaintenanceEnables semantic search over Databricks docs, API reference, Terraform provider docs, and knowledge base via tools like search_databricks_docs and research.-
- FlicenseBqualityDmaintenanceEnables AI assistants to query and search library documentation from GitHub repositories or web pages using RAG and web scraping.2-
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to search and retrieve information from large technical documentation (OpenAPI specs, markdown) via intelligent chunking and semantic search.MIT