Skip to main content
Glama
byjg

byjg-docs-mcp

Official
by byjg

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

https://mcpdocs.byjg.com/mcp

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)

instructions

Claude Desktop

instructions

Codex CLI

instructions

Gemini CLI

instructions

Cursor

instructions

Install in Cursor

VS Code

instructions

Install in VS Code

VS Code Insiders

instructions

Install in VS Code Insiders

Visual Studio

Install in Visual Studio

JetBrains IDEs

instructions

Goose

Install in Goose

LM Studio

Add MCP Server byjg-docs to 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

search_docs(query, limit, category, project)

Ranked passages, each with its public URL

get_document(source_path)

Full markdown of one page

list_projects()

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 tools
get_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
source_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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, ...).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
projectNo
categoryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

  1. 3 tool updatesv0.1.0
    • First observedget_document
    • First observedlist_projects
    • First observedsearch_docs

TDQS

A4.4/5.0

Scored across 3 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness5/5

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

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers