Oli Docs 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., "@Oli Docs MCPsearch hybrid for 'MCP tool interface'"
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.
Oli Docs MCP
Local MCP server for querying the official Oli / LimX documentation from Claude Code or OpenCode.
The repo ships with:
Clean markdown sources for the three official docs.
A SQLite FTS index at
index/corpus.sqlite.A local vector index at
index/vectors.npz.MCP tools:
list_docs,search,get_section,cite.
Install
Clone the repo, then create a local Python virtual environment. Python 3.10 or newer is required.
git clone https://github.com/33may/oli-docs-mcp.git
cd oli-docs-mcp
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e .The first vector query may load the bundled embedding model from the local Hugging Face cache if already present, or download sentence-transformers/all-MiniLM-L6-v2 if it is not cached yet.
Related MCP server: ragi
Quick Test
source .venv/bin/activate
python -c "from oli_corpus_mcp.tools import search; print(search('MCP tool interface', mode='hybrid', top_k=3))"Expected: at least one result with doc_id == "sdk-guide" and a citation starting with oli-corpus://sdk-guide#.
Claude Code Setup
Install the repo first, then register the local MCP server with Claude Code. Installation alone does not automatically add the server to Claude Code.
Find the executable path:
source .venv/bin/activate
which oli-docs-mcpRegister it globally for your Claude Code user:
claude mcp add --scope user oli-docs-mcp -- "$PWD/.venv/bin/oli-docs-mcp"Check it:
claude mcp listRestart Claude Code if the tools do not appear in an already-open session.
If an agent is setting this up for you, ask it to clone the repo, run the install commands above, run the quick test, register Claude Code with the claude mcp add command above, and verify with claude mcp list.
OpenCode Setup
Add this to ~/.config/opencode/opencode.jsonc:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"oli-docs-mcp": {
"type": "local",
"command": ["/absolute/path/to/oli-docs-mcp/.venv/bin/oli-docs-mcp"],
"enabled": true
}
}
}Restart OpenCode after editing config.
Tools
list_docs()
Returns the three bundled official docs.
search(query, top_k=10, doc_id=None, include_notes=False, mode="fts")
Modes:
fts: SQLite FTS5/BM25 keyword search. This is the default.vector: local semantic search overindex/vectors.npz.hybrid: deterministic fusion of FTS and vector rankings.
Example:
search(query="how can an assistant control Oli through tools", mode="vector", top_k=5)get_section(doc_id, section, part=None)
Returns the full markdown chunk and citation.
Example:
get_section(doc_id="sdk-guide", section="3.3")cite(doc_id, section, part=None)
Returns the canonical citation URI and source file path.
Example:
cite(doc_id="sdk-guide", section="3.3")Citation Rule
When using this MCP for Oli facts, cite the returned oli-corpus://... URI. If no supporting source is found, say that no source was found.
The citation URI is intentionally still oli-corpus://... because it is the stable source contract for this documentation corpus, even though this GitHub repo and MCP server are named oli-docs-mcp.
Rebuild Index
The repo includes a prebuilt index, so this is optional:
source .venv/bin/activate
python scripts/build_index.pyAvailable Tools
4 toolsciteD
| Name | Required | Description | Default |
|---|---|---|---|
| part | No | ||
| doc_id | Yes | ||
| section | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sectionD
| Name | Required | Description | Default |
|---|---|---|---|
| part | No | ||
| doc_id | Yes | ||
| section | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_docsD
| 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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchD
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | fts | |
| query | Yes | ||
| top_k | No | ||
| doc_id | No | ||
| include_notes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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. Dates show when Glama detected each change.
4 tool updates
v0.1.0- First observed
cite - First observed
get_section - First observed
list_docs - First observed
search
TDQS
Each tool has a clearly distinct purpose: listing docs, searching, retrieving a specific section, and generating citations. No overlap or ambiguity.
Tool names are lowercase with underscores, but the pattern is inconsistent: 'list_docs' and 'get_section' follow verb_noun, while 'search' and 'cite' are bare verbs without an explicit object. Still readable but less predictable.
Four tools is a well-scoped set for a documentation server, covering browsing, searching, section retrieval, and citation without unnecessary bloat.
The core documentation workflow (list, search, get, cite) is covered. A minor gap is the lack of a 'get_doc' tool for retrieving full documents, but section-level access likely suffices for most 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
MCP server for querying Forkast documentation
DocBase MCP server for AI agents
Serve a folder of Markdown notes as an MCP server: hybrid search, reading, and sourced answers.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceLocal MCP server that provides semantic search (RAG) over code repositories, enabling AI clients like Claude and Gemini to access project context without manual re-upload.-
- AlicenseAqualityDmaintenanceLocal-first RAG indexing and semantic search MCP server. Enables document retrieval and context-aware queries using local embedding models.316MIT
- AlicenseNot gradedqualityDmaintenanceLocal MCP server for indexing personal knowledge into SQLite with hybrid search, chunk-level citations, memory tools, and agent orchestration.4MIT
- AlicenseNot gradedqualityDmaintenanceA local RAG MCP server that enables AI tools like Claude to search indexed codebases and documentation using vector search with Ollama models.Apache 2.0
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/33may/oli-docs-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server