streamable-httpMITupdated 27d ago
Exposes endoflife.ai's lifecycle intelligence to AI agents over the Model Context Protocol (MCP, Streamable HTTP transport). It's a thin, dependency-free Cloudflare Worker that wraps the existing api.endoflife.ai/v1 endpoints β no data duplicated.
What can you do with endoflife ai β Software Lifecycle Intelligence?
endoflife.ai β MCP Server
Exposes endoflife.ai's lifecycle intelligence to AI agents over the Model Context
Protocol (MCP, Streamable HTTP transport). It's a thin, dependency-free Cloudflare
Worker that wraps the existing api.endoflife.ai/v1 endpoints β no data duplicated.
Tools
| Tool | What it does | Wraps |
|---|---|---|
check_eol |
Is product X version Y end-of-life? | GET /v1/status/:slug/:version |
get_risk_score |
EOL Risk Scoreβ’ (0β100) + factor breakdown | GET /v1/score/:slug[/:version] |
scan_stack |
Score a whole stack at once | POST /v1/batch |
list_products |
Search the 480+ tracked products β resolve slugs | GET /v1/products |
get_product_lifecycle |
Full version history + dates for one product | GET /v1/product/:slug |
Deploy
Prereq: npm install -g wrangler and wrangler login (once).
cd mcp-server
npm install
# Test immediately on the workers.dev URL:
wrangler deploy # prints https://endoflife-mcp.<your-subdomain>.workers.dev
# Production (custom domain):
wrangler deploy --env production
Custom domain (mcp.endoflife.ai)
The route in wrangler.toml needs mcp.endoflife.ai to resolve through Cloudflare:
- Cloudflare dashboard β endoflife.ai zone β DNS β Add record.
- Type AAAA, Name mcp, IPv6 100::, Proxied (orange cloud). (This is the standard Cloudflare placeholder for a Worker route β the Worker intercepts before the address is ever used.)
- Re-run
wrangler deploy --env production.
Until DNS is set, use the workers.dev URL everywhere below.
Connect from an MCP client
Claude Desktop / Cursor (claude_desktop_config.json β mcpServers):
{
"mcpServers": {
"endoflife": { "command": "npx", "args": ["mcp-remote", "https://mcp.endoflife.ai"] }
}
}
Clients with native remote-MCP support can use the URL directly:
{ "mcpServers": { "endoflife": { "url": "https://mcp.endoflife.ai" } } }
Test without a client
# tools/list
curl -s https://mcp.endoflife.ai -X POST -H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | jq
# call a tool
curl -s https://mcp.endoflife.ai -X POST -H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_risk_score","arguments":{"product":"openssl"}}}' | jq
# discovery card
curl -s https://mcp.endoflife.ai/.well-known/mcp/server-card.json | jq
Auth & tiers
Free tier works with no key. Forward an X-API-Key header (your existing Pro keys)
to unlock Pro limits β the Worker passes it straight through to api.endoflife.ai.
Notes / Phase 2
- Per-client rate limits: Phase 1 relies on the upstream API's limits. If MCP
traffic grows, add a KV rate-limiter here keyed on
CF-Connecting-IP(reuse theAPI_RATE_LIMITnamespace) before the upstream call. - Registry listings: submit to the public MCP registries once live (see the launch checklist).
- Discovery card is also served from the main site at
https://endoflife.ai/.well-known/mcp/server-card.jsonso agents that probe the apex domain find it.
Install
Add endoflife ai β Software Lifecycle Intelligence to your client. Pick the one you use.
claude mcp add --transport http endoflife-ai-software-lifecycle-intellig https://mcp.endoflife.aicodex mcp add endoflife-ai-software-lifecycle-intellig --url https://mcp.endoflife.ai{
"mcpServers": {
"endoflife-ai-software-lifecycle-intellig": {
"url": "https://mcp.endoflife.ai"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"endoflife-ai-software-lifecycle-intellig": {
"type": "http",
"url": "https://mcp.endoflife.ai"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"endoflife-ai-software-lifecycle-intellig": {
"url": "https://mcp.endoflife.ai"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"endoflife-ai-software-lifecycle-intellig": {
"serverUrl": "https://mcp.endoflife.ai"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
5 tools
endoflife ai β Software Lifecycle Intelligence exposes 5 tools to a connected agent.
- check_eol
- Is product X version Y end-of-life?
- get_risk_score
- EOL Risk Scoreβ’ (0β100) + factor breakdown
- scan_stack
- Score a whole stack at once
- list_products
- Search the 480+ tracked products β resolve slugs
- get_product_lifecycle
- Full version history + dates for one product
Score
78 / 100
Good
- Documentation22/25
- Maintenance25/25
- Trust13/20
- Capability6/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 20 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 5 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint β no local install
Version history
| Versions | Published |
|---|---|
| 1.0.2Latest | Jul 29, 2026 |
| 1.0.1 | Jul 19, 2026 |
| 1.0.0 | Jun 30, 2026 |