Skip to main content
Glama

Up-to-Date Docs MCP Server

This workspace contains a small MCP server for inspecting projects and fetching known documentation URLs while you work. It is designed for mixed projects: software repos, electronics folders, firmware, KiCad/PlatformIO/Arduino work, SPICE files, and datasheet-heavy debugging.

The server is intentionally stdlib-only Python so it can run without npm install. It uses Python's built-in HTTP client first and falls back to verified curl -L fetching when the local Python certificate store is missing or stale.

What It Provides

  • analyze_project: scans a project folder for manifests, dependencies, frameworks, firmware/electronics files, and likely docs topics.

  • fetch_doc: fetches a documentation page or datasheet URL and returns readable text. HTML works out of the box. PDFs are better if pypdf or pdftotext is installed.

  • context7_search: optional search against Context7 for software library docs.

  • context7_docs: optional Context7 docs fetch after you resolve a library ID.

Related MCP server: GitHub Repo Explainer MCP

Quick Smoke Test

python3 up_to_date_docs_mcp.py --self-test

Generic MCP Config

Use the absolute path to this script:

{
  "mcpServers": {
    "up-to-date-docs": {
      "command": "python3",
      "args": [
        "/Users/williamramsay/Documents/MCP SERVER FOR UP TO DATE DOCS/up_to_date_docs_mcp.py"
      ],
      "env": {
        "DOCS_MCP_PROJECT_ROOT": "/path/to/your/current/project"
      }
    }
  }
}

Keep up_to_date_docs_mcp.py in the same folder as the docs_mcp_*.py helper files. The entrypoint imports those modules at runtime.

For a truly project-by-project setup, either:

  • set the server working directory to the project folder in your MCP client, or

  • change DOCS_MCP_PROJECT_ROOT when you switch projects, or

  • pass a path argument when calling analyze_project.

Codex Setup

Codex reads MCP servers from its global config. If the codex command is on your PATH, register this server with:

codex mcp add up-to-date-docs \
  --env DOCS_MCP_PROJECT_ROOT="/Users/williamramsay/Documents/MCP SERVER FOR UP TO DATE DOCS" \
  -- "/Users/williamramsay/Documents/MCP SERVER FOR UP TO DATE DOCS/.venv/bin/python" \
  "/Users/williamramsay/Documents/MCP SERVER FOR UP TO DATE DOCS/up_to_date_docs_mcp.py"

If your terminal says codex: command not found, use the ChatGPT app's bundled Codex CLI:

/Applications/ChatGPT.app/Contents/Resources/codex mcp add up-to-date-docs \
  --env DOCS_MCP_PROJECT_ROOT="/Users/williamramsay/Documents/MCP SERVER FOR UP TO DATE DOCS" \
  -- "/Users/williamramsay/Documents/MCP SERVER FOR UP TO DATE DOCS/.venv/bin/python" \
  "/Users/williamramsay/Documents/MCP SERVER FOR UP TO DATE DOCS/up_to_date_docs_mcp.py"

Confirm Codex can see it:

/Applications/ChatGPT.app/Contents/Resources/codex mcp list

Start a new Codex session after adding the server, then run:

/mcp

You should see up-to-date-docs listed as an enabled MCP server. From there, ask Codex to use up-to-date-docs to analyze a project or fetch a documentation URL.

Optional Context7

Context7 is useful for software libraries because it has docs indexed by library. This server still works without it, but you can add:

{
  "env": {
    "CONTEXT7_API_KEY": "your_key_here"
  }
}

Then use context7_search first, followed by context7_docs.

Example Prompts

  • "Analyze this project and suggest documentation topics for the main framework."

  • "Fetch this datasheet URL and summarize the absolute maximum ratings."

  • "Use Context7 to get current FastAPI docs for dependency injection."

  • "Analyze this firmware folder and suggest documentation topics to look up."

Notes

  • The server fetches live web pages when given URLs, so your MCP client must allow network access for the server process.

  • General web search is intentionally not exposed until there is a reliable search backend.

  • It supports the newer server/discover flow and the older initialize flow, which helps across different MCP clients.

  • PDF extraction is optional. For electronics work, installing pypdf or Poppler's pdftotext makes datasheets much more useful.

  • Logs go to stderr so stdout stays reserved for MCP protocol messages.

Related MCP Connectors

Related MCP Servers