For agents
The library is built to be read by software. Use the MCP server, the JSON API or llms.txt. All three are public, read-only and need no key.
MCP server
Streamable HTTP, read-only, no authentication.
Server URL
https://mcp.unfinished.one/mcpClaude Code
Terminal
claude mcp add --transport http unfinished https://mcp.unfinished.one/mcpOr add it to a project’s .mcp.json:
.mcp.json
{
"mcpServers": {
"unfinished": {
"type": "http",
"url": "https://mcp.unfinished.one/mcp"
}
}
}Claude Desktop and claude.ai
Add a custom connector in Settings → Connectors and paste the server URL. No OAuth settings are needed.
For a Claude Desktop build without custom connectors, bridge the remote server through mcp-remote in claude_desktop_config.json (needs Node.js):
claude_desktop_config.json
{
"mcpServers": {
"unfinished": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.unfinished.one/mcp"
]
}
}
}Other clients
Any MCP client that supports Streamable HTTP can connect to the URL above; many accept the same mcpServers block as .mcp.json. The server is stateless, so a single JSON-RPC POST works without a session:
curl
curl -s https://mcp.unfinished.one/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_service_life","arguments":{"id":"rtu-gas-electric"}}}'Tools
| Tool | Returns |
|---|---|
search_components | Find components by name, alias or Uniformat code. |
get_component | The full entry: service life, PM tasks, sources, confidence and open questions. |
get_service_life | Median and p10–p90 life in years, optionally adjusted by the entry’s named modifiers. |
estimate_remaining_life | Remaining years and a replacement year range from an install year. A planning estimate, not a condition assessment. |
get_pm_tasks | Preventive maintenance tasks with ISO 8601 frequencies, optionally filtered by criticality. |
map_classification | Match an asset register name (“RTU-3 Lennox 2009”) or a Uniformat code to the catalogue, with a score and whether an entry exists yet. |
list_open_questions | Known gaps and disagreements, for one component or all. |
Every result includes canonical_url, version, citation, licence and confidence.
JSON API
Static JSON files, the same data the MCP server uses.
| URL | Returns |
|---|---|
https://unfinished.one/api/components.json | Latest version of every entry |
https://unfinished.one/api/c/<id>.json | Latest version of one entry |
https://unfinished.one/api/c/<id>/<version>.json | One fixed version |
llms.txt
https://unfinished.one/llms.txt is a plain-text summary for language models: what the library is, how to cite it, and a list of every entry with its median life and grade.
When you use a value
- Show the user the entry link and its confidence grade. Grade D means expert estimate only.
- Cite the version link (
/c/<id>/v/<version>). See Cite. - Mention open questions that bear on the answer.