Skip to main content
Glama
33may
by 33may

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-mcp

Register 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 list

Restart 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 over index/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.py

Available Tools

4 tools
citeD
ParametersJSON Schema
NameRequiredDescriptionDefault
partNo
doc_idYes
sectionYes

TDQS

D1/5.0
Behavior1/5

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.

Conciseness1/5

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.

Completeness1/5

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.

Parameters1/5

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.

Purpose1/5

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.

Usage Guidelines1/5

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
ParametersJSON Schema
NameRequiredDescriptionDefault
partNo
doc_idYes
sectionYes

TDQS

D1/5.0
Behavior1/5

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.

Conciseness1/5

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.

Completeness1/5

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.

Parameters1/5

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.

Purpose1/5

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.

Usage Guidelines1/5

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
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1/5.0
Behavior1/5

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.

Conciseness1/5

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.

Completeness1/5

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.

Parameters1/5

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.

Purpose1/5

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.

Usage Guidelines1/5

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.

  1. 4 tool updatesv0.1.0
    • First observedcite
    • First observedget_section
    • First observedlist_docs
    • First observedsearch

TDQS

C2/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: listing docs, searching, retrieving a specific section, and generating citations. No overlap or ambiguity.

Naming Consistency3/5

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.

Tool Count5/5

Four tools is a well-scoped set for a documentation server, covering browsing, searching, section retrieval, and citation without unnecessary bloat.

Completeness4/5

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

ActivityStale
ResponsivenessNo issues

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

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Local 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.
    -
  • A
    license
    A
    quality
    D
    maintenance
    Local-first RAG indexing and semantic search MCP server. Enables document retrieval and context-aware queries using local embedding models.
    3
    16
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A 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

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