ibmi-docs-mcp
This server lets agents search and fetch IBM i documentation as plain text via MCP.
Search IBM i docs:
search_ibm_docs(query, version?, limit?)returns ranked candidates with title, snippet, href, and URL.Fetch a doc topic:
fetch_ibm_doc(url_or_href, version?)returns the topic’s title, URL, plain-text body, and truncation/staleness flags.Version selection: supports IBM i 7.4, 7.5, and 7.6 via semantic, short, or product-key forms; configurable per call or by default environment variable.
Caching and resilience: uses a local SQLite cache with TTL, stale-on-outage fallback, retries, timeouts, and bounded concurrency.
Configuration via env vars: adjust version, cache path, max characters returned, HTTP timeout, retries, concurrency, user agent, base URL, and logging.
Agent-friendly workflow: search first, verify titles/snippets, then fetch the chosen href for detailed content.
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., "@ibmi-docs-mcp How can I retrieve a system value using the QWCRSVAL API in IBM i?"
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.
ibmi-docs-mcp
FastMCP server that lets agents search and fetch IBM i documentation via IBM Documentation’s public APIs.
Typical flow: search → pick the best hit’s href → fetch that topic as plain text.
Full tool contracts (parameters, response JSON, errors): docs/TOOLS.md.
Requirements
Python 3.13+
Related MCP server: mcp-docs
Setup
uv sync --extra devRun (stdio MCP)
uv run python server.pyOr: uv run python -m ibmi_docs_mcp
Cursor / Bob mcp.json
{
"mcpServers": {
"ibmi-docs": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/ibmi-docs-mcp",
"python",
"server.py"
],
"env": {
"IBMI_DOCS_VERSION": "7.5.0"
}
}
}
}Tools
search_ibm_docs(query, version?, limit?)— ranked candidates (title,snippet,href,url)fetch_ibm_doc(url_or_href, version?)— plain-text topic body for a chosenhref
Prefer short object/command names (e.g. HTTP_GET, WRKACTJOB). Results are IBM-ranked; do not assume hit #1 is always correct.
See docs/TOOLS.md for response shapes and error codes.
Supported versions
IBM i 7.4, 7.5, and 7.6. Accepted forms include:
Form | Example |
Semantic |
|
Short |
|
Product key |
|
Default is IBMI_DOCS_VERSION=7.5.0 (or pass version per tool call).
Env vars
Set via .env or the MCP host env block. Defaults match .env.example.
Variable | Default | Purpose |
|
| Default IBM i version for search |
|
| SQLite cache file ( |
|
| Soft TTL; stale rows may still be served on outage |
|
| Max plain-text chars returned by fetch |
|
| HTTP timeout (seconds) |
|
| Retries for transient upstream failures |
|
| Max concurrent IBM HTTP requests |
|
| User-Agent sent to IBM |
|
| IBM docs API base |
|
| Log level (stderr only) |
Logging
Logs go to stderr only (stdout is the MCP channel). In Cursor, open the MCP server output / logs panel for lines like search cache hit or fetch miss → IBM.
Troubleshooting
Symptom | What to try |
| Pass a non-blank |
| Use an |
| Use 7.4 / 7.5 / 7.6 (or |
| Raise |
| Check network; warm cache may still return with |
Cache location | Default |
Tests
uv run pytestLicense
MIT — see LICENSE.
Available Tools
2 toolsfetch_ibm_docA
Fetch one IBM i documentation topic as plain text.
Pass the href (or content API URL) from search_ibm_docs. Returns title, url, text, and truncated/stale flags. Prefer search first so you pick the right page.
Inputs: url_or_href (required), version. Returns: object
search_ibm_docsA
Search IBM i documentation (IBM's own docs search index).
Prefer short object/command names (e.g. HTTP_GET, WRKACTJOB, CHGJRN) over long prose. Results are ranked by IBM relevance — read titles/snippets and pick the best match; do not assume hit #1 is always right. Next step: call fetch_ibm_doc with the chosen result's href.
Inputs: query (required), limit, version. Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 2 tools
The two tools have clearly distinct roles: one searches the documentation index, the other fetches a specific page. There is no overlap or ambiguity in their purposes.
Both tools use a consistent verb_object pattern: 'search_ibm_docs' and 'fetch_ibm_doc'. The slight singular/plural difference is minor and does not affect consistency.
Two tools is exactly right for a documentation search and retrieval server. Each tool is essential and there is no redundant functionality.
The workflow of search-then-fetch is fully covered. A user can find a relevant topic and retrieve its content without dead ends.
Maintenance
Related MCP Connectors
MCP server for querying Forkast documentation
Remote MCP server for Tandem docs, install guides, SDKs, workflows, and agent setup help.
MCP server for innovationlab documentation, generated by doc2mcp.
MCP server for agentverse documentation, generated by doc2mcp.
Related MCP Servers
- FlicenseAqualityCmaintenanceMCP server for GoHighLevel documentation, enabling agents to search docs, list endpoints, and fetch focused API details without loading large files.71-
- AlicenseNot gradedqualityDmaintenanceMCP server for documentation search that automatically indexes web documentation sites and provides semantic, full-text, or hybrid search capabilities.2 npmMIT
- FlicenseNot gradedqualityDmaintenanceMCP server that exposes one or more documentation folders (Markdown, MDX, TXT) to AI agents, enabling listing, reading, and searching of documentation files.-
- AlicenseNot gradedqualityDmaintenanceMCP server for searching and reading ServiceNow documentation from a local clone, enabling keyword/regex queries and full doc retrieval without external APIs.ISC