{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_rjx4pnpq67ep","handle":"portage-mcp","url":"https://wellknown.network/agents/portage-mcp","links":{"self":"https://wellknown.network/agents/portage-mcp/record.json","html":"https://wellknown.network/agents/portage-mcp","markdown":"https://wellknown.network/agents/portage-mcp/record.md","api":"https://wellknown.network/api/v1/agents/portage-mcp","status":"https://wellknown.network/api/v1/agents/portage-mcp/status","claim":"https://wellknown.network/agents/portage-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/portage-mcp/claim.json","badge":"https://wellknown.network/agents/portage-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/portage-mcp/history","tools":"https://wellknown.network/api/v1/agents/portage-mcp/tools"},"ard":{"identifier":"urn:air::server:portage-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"portage-mcp","summary":"Generate an MCP server from any CLI tool's own --help output.","description":"<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/jayaprakash2207/Portage-_MCP/main/assets/portage-banner.svg\" alt=\"Portage — every CLI, one command from your AI assistant\" width=\"100%\">\n</p>\n\n<p align=\"center\">\n  <b>Turn any command-line tool into an MCP server — by reading its own <code>--help</code>. No per-tool code.</b>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/jayaprakash2207/Portage-_MCP/actions/workflows/ci.yml\"><img alt=\"CI\" src=\"https://github.com/jayaprakash2207/Portage-_MCP/actions/workflows/ci.yml/badge.svg\"></a>\n  <img alt=\"tests\" src=\"https://img.shields.io/badge/tests-360%20passing-2ea44f\">\n  <img alt=\"integration\" src=\"https://img.shields.io/badge/integration-16%20real%20CLIs-2ea44f\">\n  <img alt=\"coverage\" src=\"https://img.shields.io/badge/coverage-~91%25-2ea44f\">\n  <img alt=\"mypy\" src=\"https://img.shields.io/badge/mypy-strict-1f6feb\">\n  <img alt=\"ruff\" src=\"https://img.shields.io/badge/lint-ruff-d7ff64\">\n  <img alt=\"python\" src=\"https://img.shields.io/badge/python-3.10%2B-1f6feb\">\n  <img alt=\"mcp\" src=\"https://img.shields.io/badge/MCP-SDK%202.x-7C3AED\">\n  <img alt=\"license\" src=\"https://img.shields.io/badge/license-MIT-2ea44f\">\n</p>\n\n<p align=\"center\">\n  <a href=\"#-quick-start\">Quick start</a> ·\n  <a href=\"#-how-it-works\">How it works</a> ·\n  <a href=\"#-security-model\">Security</a> ·\n  <a href=\"#-cli\">CLI</a> ·\n  <a href=\"#-configuration\">Config</a> ·\n  <a href=\"#-remote-deployment\">Remote</a> ·\n  <a href=\"#-roadmap\">Roadmap</a>\n</p>\n\n---\n\n## What is this?\n\nThere are thousands of command-line tools — `ffmpeg`, `jq`, `ripgrep`, `git`,\n`curl`, your own scripts — and almost none of them have a\n[Model Context Protocol](https://modelcontextprotocol.io) server, so an AI\nassistant can't use them. Writing one by hand for every CLI is repetitive busywork.\n\n**Portage does it automatically.** Point it at a CLI, and it:\n\n```\n<tool> --help  ──▶  parse (sections · usage · options · commands · type inference)\n               ──▶  norma…","publisher":{"name":"Jayaprakash A R","url":null},"homepage":"https://github.com/jayaprakash2207/Portage-_MCP","repository":"https://github.com/jayaprakash2207/Portage-_MCP","version":"0.1.0","license":"MIT","protocols":["mcp"],"tags":["automation","cli","code-generation","mcp","model-context-protocol"],"pricing":null,"endpoints":[{"url":"pypi:portage-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"dev.ci-cd","name":"CI/CD & Deploy","confidence":0.779,"provenance":"derived"},{"slug":"code.generation","name":"Code Generation","confidence":0.75,"provenance":"derived"},{"slug":"dev.version-control","name":"Version Control","confidence":0.745,"provenance":"derived"}],"categories":["code","dev"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"portage-mcp","registry":"pypi","observedAt":"2026-09-12T08:20:45.572Z","publishedAt":"2026-09-09T10:10:43.748046Z","latestVersion":"0.1.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"portage-mcp","url":"https://pypi.org/project/portage-mcp/","firstSeenAt":"2026-09-12T08:20:34.903Z","fetchedAt":"2026-09-12T08:20:34.903Z","normalizedAt":"2026-09-12T08:20:34.903Z"}]},"firstSeenAt":"2026-09-12T08:20:34.903Z","updatedAt":"2026-09-12T08:20:45.572Z"}