genlayer-docs-mcp
This server provides structured access to the GenLayer documentation through three tools:
search_docs: Search the documentation using a natural language query and retrieve the top matching sections, complete with hierarchical title breadcrumbs (e.g.,What is GenLayer > Core Technology > On-Chain AI Processing) and full content.get_section: Fetch the full content of a specific documentation section by providing its exact heading title (e.g.,'Optimistic Democracy'or'Economic Model').list_sections: Get a complete list of all headings and subheadings available in the GenLayer documentation, along with their starting line numbers, useful for navigation and discovery.
Click 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., "@genlayer-docs-mcpSearch GenLayer docs for on-chain AI processing"
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.
GenLayer Documentation MCP Server
A standardized, shareable Model Context Protocol (MCP) server that packages and exposes the GenLayer documentation (genlayer-docs.txt) to any AI assistant (including Claude Desktop, Cursor, Windsurf, Gemini, and others).
By packaging this as a Python project with a pyproject.toml and utilizing the official mcp SDK, anyone can run it with a standard Python install — no manual file paths or dependency wrangling.
Available Tools
Once registered, the server exposes the following tools:
search_docs(query: string, top_k: int = 5): Search the GenLayer documentation for relevant sections matching a query. Returns top matching sections along with their hierarchical title breadcrumbs (e.g.,What is GenLayer > Core Technology > On-Chain AI Processing) and starting line numbers.get_section(title: string): Retrieve the full content of a specific documentation section matching the specified heading title.list_sections(): List all headings and subheadings present in the GenLayer documentation along with their starting line numbers.
Related MCP server: mcp-minecraft-forge
Quick Start (Recommended)
This is the setup verified to work with a standard Python installation on Windows, macOS, and Linux.
1. Install the package
From PyPI:
pip install genlayer-docs-mcpOr from source (after cloning this repo):
pip install .2. Register it with your AI client
Add the server inside the mcpServers block of your client's MCP config
(Claude Desktop on Windows: %APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"genlayer-docs": {
"command": "python",
"args": [
"-m",
"genlayer_docs_mcp"
]
}
}
}Why
python -m? It uses the Python interpreter already on yourPATH, so there is nothing extra to install (unlikeuvx, which requiresuvto be installed first). Restart your client after saving, and the three tools above will appear.
For Cursor / Windsurf, use the same values in the editor's MCP settings:
Type:
commandCommand:
pythonArgs:
-m genlayer_docs_mcp
Alternative: Zero-install with uvx
If you have uv installed, you can run the server
without installing it first. Anyone in the world can use this on any AI client
with zero local files:
{
"mcpServers": {
"genlayer-docs": {
"command": "uvx",
"args": ["genlayer-docs-mcp"]
}
}
}Cursor / Windsurf command: uvx genlayer-docs-mcp
Requires
uv/uvxon yourPATH. Install it withwinget install astral-sh.uv(Windows) or see the uv install guide.
Alternative: Install directly from GitHub (no PyPI needed)
To track the latest source, install straight from the public repository:
Using
pip:pip install "git+https://github.com/Laegend14/Genlayer-mcp"Using
uvx(zero-install):{ "mcpServers": { "genlayer-docs": { "command": "uvx", "args": [ "--from", "git+https://github.com/Laegend14/Genlayer-mcp", "genlayer-docs-mcp" ] } } }
Alternative: Global install via pipx
Users who prefer an isolated global install can use pipx:
# From PyPI
pipx install genlayer-docs-mcp
# Or from GitHub
pipx install "git+https://github.com/Laegend14/Genlayer-mcp"Then configure the command in any AI client as:
Command:
genlayer-docs-mcp(no arguments required)
Note: this requires the
pipxscripts directory to be on yourPATH(pipx ensurepath). If your client can't find thegenlayer-docs-mcpexecutable, use the Quick Startpython -mmethod instead.
Development
Clone the repo and install in editable mode:
git clone https://github.com/Laegend14/Genlayer-mcp
cd Genlayer-mcp
pip install -e .Run the server directly to confirm it loads the documentation:
python -m genlayer_docs_mcpYou should see a log line reporting the number of parsed documentation sections.
Available Tools
3 toolsget_sectionA
Retrieve the full content of a specific documentation section by its exact title (e.g., 'Optimistic Democracy' or 'Economic Model').
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes |
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, and the description only states 'Retrieve the full content,' which implies a read operation. It does not disclose any behavioral traits such as idempotency, side effects, access restrictions, or error handling (e.g., if title not found). For a tool with no annotations, the description lacks necessary behavioral context.
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?
A single sentence with an example, front-loaded with the verb 'Retrieve,' no redundant information. Every word serves a purpose.
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 simple single-parameter schema and the presence of an output schema (which presumably documents the return value), the description adequately explains what the tool does. It could mention error cases, but overall it is sufficient for a straightforward retrieval tool.
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 meaning by specifying that the title must be exact and provides examples. With 0% schema description coverage, this significantly clarifies the parameter's purpose beyond the schema's bare 'string' type. However, it does not specify case-sensitivity or format details.
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 action (Retrieve), the resource (full content of a specific documentation section), and the input (exact title) with concrete examples (e.g., 'Optimistic Democracy'). This directly distinguishes it from siblings like list_sections (which lists sections) and search_docs (which searches across docs).
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 implies usage when the exact title is known, but does not explicitly contrast with siblings or provide guidance on when not to use it. The distinction is implicit rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sectionsA
List all section titles and headings available in the GenLayer documentation.
| 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, the description must fully disclose behavioral traits. It states the action (listing) but does not mention any side effects, authentication needs, rate limits, or output constraints. Minimal behavioral info beyond the obvious.
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?
Single sentence with no extraneous words, effectively front-loaded. Every word is informative and earns its place.
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 no parameters and an output schema exists (though not shown), the description is mostly complete. Could potentially mention the output structure but not necessary. Simple tool, adequate context.
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?
No parameters exist, so schema coverage is 100% by default. The description adds no parameter information, which is acceptable as there are no parameters to document. Baseline score of 4 for zero-parameter tools.
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 verb 'List', the resource 'section titles and headings', and the scope 'in the GenLayer documentation'. It is specific and distinct from siblings like get_section (retrieves a single section) and search_docs (searches across docs).
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 implies usage when needing an overview of available sections but does not explicitly state when to use this tool versus alternatives or provide any exclusions. No guidance on when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_docsA
Search the GenLayer documentation for relevant sections matching a query. Returns the top matching sections with their hierarchical titles and full content.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| top_k | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that it returns 'top matching sections with their hierarchical titles and full content,' indicating a read-only operation. However, it lacks details on rate limits, authorization, or constraints like maximum top_k value.
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, front-loaded with the core purpose, no unnecessary words. Every sentence adds 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?
Given no annotations and low schema coverage, the description is somewhat adequate but misses details on parameter semantics and lacks full behavioral disclosure (e.g., pagination, error handling).
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 schema has 0% coverage, yet the description does not explain the 'top_k' parameter (integer, default 5) and only implicitly covers 'query.' This leaves agents without guidance on how to use the optional parameter effectively.
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 function: 'Search the GenLayer documentation for relevant sections matching a query.' It distinguishes from siblings like get_section and list_sections by focusing on searching based on a query.
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 implies usage for finding documentation sections, but does not explicitly state when not to use it or provide alternatives. Sibling tools are listed but not referenced in guidance.
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_section - First observed
list_sections - First observed
search_docs
TDQS
Scored across 3 tools
Each tool has a distinct purpose: listing all sections, retrieving a specific section by exact title, and searching for relevant sections. No overlap.
All tool names follow a consistent verb_noun snake_case pattern (get_section, list_sections, search_docs), making them predictable.
Three tools are appropriate for a documentation server, covering the essential operations without unnecessary complexity.
Covers listing, retrieval, and search. A minor gap might be lacking a 'get all sections with content' operation, but the current set is sufficient for most use cases.
Maintenance
Related MCP Connectors
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
MCP server for developers documentation, generated by doc2mcp.
MCP server for developer documentation, generated by doc2mcp.
MCP server for agentverse documentation, generated by doc2mcp.
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides comprehensive access to MCP documentation through structured guides, full-text search, and interactive development workflows for building servers and clients.310 npmMIT
- AlicenseBqualityAmaintenanceMCP server for Forge Minecraft modding documentation. Gives AI assistants direct access to Forge docs with structured search results.56 npm2MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI coding assistants to semantically search and retrieve relevant code patterns, documentation, and implementations from a codebase via MCP tools.8MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to access up-to-date documentation by indexing GitHub repositories and official docs, providing semantic search through MCP.29 npm7MIT