Agent skill

Documentation Server

by andrea9293 in andrea9293/mcp-documentation-server

A skill your agent uses when you need to store, retrieve, search, or manage documents in a local knowledge base with semantic search and hybrid (vector + full-text) retrieval.

MITAuto-check passedAgent Workflows

Install Documentation Server

skills CLI
$ npx skills add andrea9293/mcp-documentation-server --skill documentation-server -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install andrea9293/mcp-documentation-server documentation-server --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/andrea9293/mcp-documentation-server.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/documentation-server .claude/skills/documentation-server && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
documentation-server
GitHub stars
343
Token cost
~2.3k tokens
SKILL.md length
902 words
Files
1
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when you need to store, retrieve, search, or manage documents in a local knowledge base with semantic search and hybrid (vector + full-text) retrieval.

  • Works in 3 steps: Check if the server is already running → Start the server (if inactive) → Optional: stop the server
  • You need to store
  • SKILL.md covers Overview, When to Use, Web Interface and Server Lifecycle, plus 5 more sections
  • Calls curl and npx; needs GEMINI_API_KEY

What it does

Documentation Server is an agent skill from andrea9293/mcp-documentation-server. Use when you need to store, retrieve, search, or manage documents in a local knowledge base with semantic search and hybrid (vector + full-text) retrieval. Also use when interacting with the documentation server web interface, managing uploads, or performing AI-powered document analysis. Use this instead of MCP-native tool definitions when context efficiency is a concern.

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows, covering Frontend development, MCP servers and Knowledge bases. It works with Model Context Protocol and Google Gemini. The repository describes itself as: MCP Documentation Server - Bridge the AI Knowledge Gap. ✨ Features: Document management • Gemini integration • AI-powered semantic search • File uploads • Smart chunking •…. The licence is MIT.

When your agent uses it

  • You need to store
  • Manage documents in a local knowledge base with semantic search and hybrid (vector + full-text) retrieval
  • Interacting with the documentation server web interface
  • Managing uploads

Example prompts

  • “/documentation-server”

Requirements

  • Node.js
  • A credential in GEMINI_API_KEY

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Check if the server is already running
  2. Start the server (if inactive)
  3. Optional: stop the server

What it can do on your machine

Read from SKILL.md and the folder at commit 9a75899. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use curl and npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • GEMINI_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Documentation Server loads about 2.3k tokens when it runs. Until then it costs about 99 tokens; SKILL.md has 902 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~99
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from andrea9293/mcp-documentation-server at commit 9a75899, republished under its MIT licence (© andrea9293). 902 words, ~2,308 tokens.

Download SKILL.mdSave it as .claude/skills/documentation-server/SKILL.md (or your agent's skills folder).
name
documentation-server
description
Use when you need to store, retrieve, search, or manage documents in a local knowledge base with semantic search and hybrid (vector + full-text) retrieval. Also use when interacting with the documentation server web interface, managing uploads, or performing AI-powered document analysis. Use this instead of MCP-native tool definitions when context efficiency is a concern.

Documentation Server — REST API Skill

Overview

This server provides a local-first knowledge base with semantic search, parent-child chunking, and an embedded vector database (Orama). Every operation available through the MCP protocol is also accessible via a REST API on http://127.0.0.1:3080/api/.

Calling the REST API directly (with curl or your agent's HTTP tool) is more token-efficient than loading MCP tool schemas — only the response JSON enters context, not the tool definitions.

When to Use

  • You need to add, retrieve, search, or delete documents in the knowledge base
  • You want semantic search (vector similarity) across one or all documents
  • You need to retrieve context windows around matched chunks for richer LLM context
  • You need to manage uploads: list files, process them into documents, or get the uploads path
  • You want the web UI to browse documents visually, upload files via drag-and-drop, or explore search results interactively
  • Context token budget is tight and you want to avoid MCP tool schema overhead

When NOT to use: If the server isn't running and you cannot start it (no npx/Node.js available), fall back to another documentation strategy.

Web Interface

The server includes a full-featured graphical web interface at http://127.0.0.1:3080 that runs automatically alongside the REST API. Use it for:

  • Dashboard — overview of all documents and statistics
  • Documents — browse, view, and delete documents visually
  • Add Document — create documents with title, content, and metadata
  • Search — semantic search across all or within a specific document
  • AI Search — Gemini-powered analysis (if GEMINI_API_KEY is set)
  • Upload Files — drag-and-drop .txt, .md, or .pdf files
  • Context Window — explore chunks around a specific index interactively

The REST API is for programmatic access; the web UI is for visual exploration and one-off operations.

Server Lifecycle

1. Check if the server is already running
bash
curl -s http://127.0.0.1:3080/api/config

If you get a JSON response, the server is active. If the connection fails, proceed to start it.

2. Start the server (if inactive)
bash
# Start in background, redirect logs to a temp file
npx -y @andrea9293/mcp-documentation-server > /tmp/doc-server.log 2>&1 &

# Wait for startup (embedding model download may take a few extra seconds on first run)
sleep 5

Then verify with the check step above. Retry after a few seconds if the model is still downloading.

3. Optional: stop the server
bash
pkill -f "@andrea9293/mcp-documentation-server" || true

The server is safe to leave running in the background between sessions.

API Reference

All endpoints are on http://127.0.0.1:3080/api/. All POST endpoints accept Content-Type: application/json.

Document CRUD
MethodEndpointDescription
GET/api/documentsList all documents
GET/api/documents/:idGet a document's full content
POST/api/documentsAdd a new document
DELETE/api/documents/:idDelete a document
MethodEndpointDescription
POST/api/searchSemantic search within a single document
POST/api/search-allHybrid search across all documents
POST/api/context-windowGet surrounding chunks around a matched section
POST/api/search-aiAI-powered analysis (requires GEMINI_API_KEY)
Uploads
MethodEndpointDescription
GET/api/uploadsList files in the uploads folder
GET/api/uploads/pathGet the uploads directory path
POST/api/uploads/processProcess all pending upload files into documents
POST/api/uploads/uploadUpload files via multipart form
Utility
MethodEndpointDescription
GET/api/configServer configuration (embedding model, Gemini availability)

Example Usage

List all documents
bash
curl -s http://127.0.0.1:3080/api/documents
Add a document
bash
curl -s -X POST http://127.0.0.1:3080/api/documents \
  -H "Content-Type: application/json" \
  -d '{
    "title": "My Document Title",
    "content": "Full document content here...",
    "metadata": { "source": "web", "tags": ["reference"] }
  }'
bash
curl -s -X POST http://127.0.0.1:3080/api/search-all \
  -H "Content-Type: application/json" \
  -d '{"query": "your search query here", "limit": 10}'

Each result includes:

  • content — the matched text chunk
  • score — relevance score (0-1, higher = more relevant)
  • document_id — ID of the document this chunk belongs to
  • parent_index — chunk index within the document (needed for context window queries)
Get a document's full content by ID
bash
curl -s http://127.0.0.1:3080/api/documents/DOCUMENT_ID_HERE

Note: returns a single object, not an array.

Search within a specific document
bash
curl -s -X POST http://127.0.0.1:3080/api/search \
  -H "Content-Type: application/json" \
  -d '{"document_id": "DOCUMENT_ID_HERE", "query": "search term", "limit": 5}'
Show full SKILL.md (364 more words)Show less
Get context window around a chunk

After search results give you a document_id and parent_index, expand the context:

bash
curl -s -X POST http://127.0.0.1:3080/api/context-window \
  -H "Content-Type: application/json" \
  -d '{"document_id": "DOCUMENT_ID_HERE", "parent_index": 3, "before": 2, "after": 2}'
Delete a document
bash
curl -s -X DELETE http://127.0.0.1:3080/api/documents/DOCUMENT_ID_HERE
Process uploads folder
bash
curl -s -X POST http://127.0.0.1:3080/api/uploads/process
List uploads
bash
curl -s http://127.0.0.1:3080/api/uploads
Get uploads path
bash
curl -s http://127.0.0.1:3080/api/uploads/path
Check server configuration
bash
curl -s http://127.0.0.1:3080/api/config

Returns server metadata: embedding model, Gemini availability, chunking settings.

AI-powered search (requires GEMINI_API_KEY)
bash
curl -s -X POST http://127.0.0.1:3080/api/search-ai \
  -H "Content-Type: application/json" \
  -d '{"document_id": "DOCUMENT_ID_HERE", "query": "what does this document say about X?"}'

Returns an AI-generated answer grounded in the document content.

Best Practices

  1. Always check if the server is running before making requests. Start it if inactive. A running server is safe to keep between sessions.

  2. Prefer calling the REST API over MCP tool definitions — the REST API returns JSON directly without the overhead of loading tool schemas into the agent's context window.

  3. Keep output minimal. For lists: just IDs and titles. For search: scores and truncated content snippets (~200 chars is usually enough). For errors: the error message.

  4. Handle the limit parameter. Default is 10. Increase for exhaustive searches, decrease for quick lookups.

  5. Use the web UI (http://127.0.0.1:3080) for visual browsing, drag-and-drop uploads, and one-off operations. The REST API is for programmatic access.

  6. Document IDs are opaque strings (e.g. 4ecc2235ec887d3e). Always list documents first to get the correct ID.

  7. First startup may be slow because the embedding model (~80 MB) is downloaded from Hugging Face. Subsequent starts are fast.

  8. The server prints startup info to stdout. When started in background with > /tmp/doc-server.log, these logs don't clutter the terminal.

Common Mistakes

MistakeFix
Forgetting to start the serverAlways check /api/config first; start if it fails
Not waiting for model download on first runUse sleep 5 after starting; verify with the check step
Using wrong document IDAlways get the ID from list or search results first
Printing raw JSON in conversationLog only what you need (IDs, scores, truncated snippets)
Expecting array from single-document GETGET /api/documents/:id returns a single object, not an array
Putting the server on a different portDefault is 3080; override with WEB_PORT env var

Response Formats

All endpoints return JSON. Typical response shapes:

  • List documents: [{id, title, ...}]
  • Single document: {id, title, content, metadata, createdAt}
  • Add document: {success, id, title}
  • Search results: [{content, score, document_id, parent_index, ...}]
  • Context window: {parents: [{index, content, ...}], ...}
  • Delete: {success, message}
  • Error: {error: "message"}

© andrea9293, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/documentation-server of andrea9293/mcp-documentation-server.

Open the folder on GitHubat commit 9a75899

Compare with similar skills

Documentation Server next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Documentation Server compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Documentation Server this skillandrea9293/mcp-documentation-server343—~2.3kAutomated safety check: PassMIT
Context Mode Searchmksglu/context-mode26k—~250Automated safety check: PassCustom licence
MCP Auditgetsentry/toolkit917—~1.5kAutomated safety check: PassCustom licence
Spring AI MCP Server Patternsgiuseppe-trisciuoglio/developer-kit3551 repos~2.7kAutomated safety check: NotesMIT
MCP Server Builder with mcp-usemcp-use/mcp-use11k—~923Automated safety check: PassApache-2.0
Context Mode Indexermksglu/context-mode26k—~328Automated safety check: PassCustom licence

Similar skills

  • Context Mode Search

    mksglu/context-mode

    Search context-mode's persistent FTS5 knowledge base for previously indexed local project content, documentation, or session memory. Trigger…

    26k GitHub stars~250 tokensUpdated today
    Agent WorkflowsAuto-check passed
  • MCP Audit

    getsentry/toolkit

    Official

    Audit MCP servers for protocol compliance, metadata drift, and compatibility regressions.

    917 GitHub stars~1.5k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Spring AI MCP Server Patterns

    giuseppe-trisciuoglio/developer-kit

    Provides Spring Boot MCP server patterns that create Model Context Protocol servers with Spring AI by defining tool handlers, exposing resources, configuring prompt templates, and setting up…

    355 GitHub starsUsed in 1 repo~2.7k tokens
    Agent WorkflowsAuto-check: notes
  • Builds, modifies, debugs, migrates and verifies TypeScript MCP servers and MCP Apps with the mcp-use framework, treating the installed package's types as the source of truth.

    11k GitHub stars~923 tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Context Mode Indexer

    mksglu/context-mode

    Indexes a local file or project directory into context-mode's FTS5 knowledge base so later searches return focused snippets instead of rereading whole files.

    26k GitHub stars~328 tokensUpdated today
    Knowledge ManagementAuto-check passed
  • Kst AI Assets Usage

    pivoshenko/kasetto

    Report which kasetto-installed skills and MCP servers are actually being used across the AI agents on this machine, and render a branded HTML dashboard of the result.

    209 GitHub stars~2.1k tokensUpdated 7 days ago
    Agent WorkflowsAuto-check passed

Questions about Documentation Server

What does Documentation Server do?

A skill your agent uses when you need to store, retrieve, search, or manage documents in a local knowledge base with semantic search and hybrid (vector + full-text) retrieval. Documentation Server is an agent skill from andrea9293/mcp-documentation-server. Use when you need to store, retrieve, search, or manage documents in a local knowledge base with semantic search and hybrid (vector + full-text) retrieval.

When should I use Documentation Server?

Documentation Server fits situations like: you need to store; manage documents in a local knowledge base with semantic search and hybrid (vector + full-text) retrieval; interacting with the documentation server web interface; managing uploads.

How do I install Documentation Server in Claude Code?

Run `npx skills add andrea9293/mcp-documentation-server --skill documentation-server -a claude-code`. Or copy the skill folder (skills/documentation-server in andrea9293/mcp-documentation-server) into .claude/skills/documentation-server in your project. Claude Code loads it when a task matches its description.

How do I install Documentation Server in Codex?

Run `npx skills add andrea9293/mcp-documentation-server --skill documentation-server -a codex`. Or copy the skill folder (skills/documentation-server in andrea9293/mcp-documentation-server) into .agents/skills/documentation-server in your project. Codex loads it when a task matches its description.

Can I use Documentation Server in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add andrea9293/mcp-documentation-server --skill documentation-server -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/documentation-server, .gemini/skills/documentation-server, .github/skills/documentation-server and .opencode/skills/documentation-server in your project.

What does Documentation Server need to run?

Going by SKILL.md and its folder, Documentation Server needs the command-line tools its instructions call (curl and npx) and credentials named GEMINI_API_KEY. Our summary lists: Node.js; A credential in GEMINI_API_KEY.

Does Documentation Server access the network?

SKILL.md contains no URLs. Its commands use curl and npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Documentation Server safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Documentation Server use?

Documentation Server is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Documentation Server use?

About 2.3k tokens (SKILL.md is roughly 9.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Documentation Server?

Skills that share tags, products or a category with Documentation Server: Context Mode Search (mksglu/context-mode, 26k stars), MCP Audit (getsentry/toolkit, 917 stars), Spring AI MCP Server Patterns (giuseppe-trisciuoglio/developer-kit, 355 stars) and MCP Server Builder with mcp-use (mcp-use/mcp-use, 11k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Documentation Server?

andrea9293 (a GitHub user) maintains it in andrea9293/mcp-documentation-server, which has 343 GitHub stars. The repository was last updated on August 27, 2026.

Source: andrea9293/mcp-documentation-server on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.