{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_sfjz3mbyvbvr","handle":"skillmd-to-mcp","url":"https://wellknown.network/agents/skillmd-to-mcp","links":{"self":"https://wellknown.network/agents/skillmd-to-mcp/record.json","html":"https://wellknown.network/agents/skillmd-to-mcp","markdown":"https://wellknown.network/agents/skillmd-to-mcp/record.md","api":"https://wellknown.network/api/v1/agents/skillmd-to-mcp","status":"https://wellknown.network/api/v1/agents/skillmd-to-mcp/status","claim":"https://wellknown.network/agents/skillmd-to-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/skillmd-to-mcp/claim.json","badge":"https://wellknown.network/agents/skillmd-to-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/skillmd-to-mcp/history","tools":"https://wellknown.network/api/v1/agents/skillmd-to-mcp/tools"},"ard":{"identifier":"urn:air::server:skillmd-to-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"skillmd-to-mcp","summary":"Generate MCP servers from plain-English skill descriptions","description":"# skill-to-mcp\n\n> **Turn a plain-English skill description into a working MCP server in seconds.**\n\n[![Python](https://img.shields.io/badge/Python-3.10%2B-blue)](https://www.python.org/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![Tests](https://img.shields.io/badge/tests-136%20passed-brightgreen)](tests/)\n[![PyPI version](https://img.shields.io/pypi/v/skillmd-to-mcp)](https://pypi.org/project/skillmd-to-mcp/)\n[![Python Versions](https://img.shields.io/pypi/pyversions/skillmd-to-mcp)](https://pypi.org/project/skillmd-to-mcp/)\n[![PyPI Downloads](https://img.shields.io/pypi/dm/skillmd-to-mcp)](https://pypi.org/project/skillmd-to-mcp/)\n[![Coverage](https://img.shields.io/badge/coverage-95%25-brightgreen)](tests/)\n\n![skill-to-mcp demo](demo/demo.gif)\n\n**`skill-to-mcp`** is a CLI code generator that reads a `SKILL.md` file — a plain-English description of a tool — and scaffolds a complete, runnable **MCP (Model Context Protocol) server** with:\n\n- ✅ Correct JSON-RPC schema (`tool_name`, `description`, `inputSchema`, `outputSchema`)\n- ✅ Pydantic v2 models for type-safe input/output\n- ✅ MCP server boilerplate (stdio or HTTP SSE transport)\n- ✅ `pyproject.toml` ready for `pip install`\n- ✅ Auto-generated `README.md` with usage instructions\n\n> 📖 [Leggi in Italiano](README.it.md)\n\n---\n\n## Why?\n\nDescribing a tool in Markdown is **more readable, versionable, and composable** than hand-writing JSON-RPC schemas. `skill-to-mcp` bridges the gap between *\"I know what my tool does\"* and *\"I have a working MCP server.\"*\n\nRead the full motivation: [SKILL.md might be a better abstraction than function calling](https://reddit.com/r/ClaudeAI/comments/1ug83x6/why_skillmd_might_be_a_better_abstraction_than/)\n\n---\n\n## Apify Actor\n\nRun skill-to-mcp on the [Apify platform](https://apify.com/):\n\n```bash\ndocker build -t skill-to-mcp .\ndocker run -e DEEPSEEK_API_KEY=sk-... skill-to-mcp\n```\n\nThe Apify Actor accepts the same inputs as the CLI via a web form:\n**…","publisher":{"name":"skill-to-mcp contributors","url":null},"homepage":null,"repository":null,"version":"0.1.1","license":"MIT","protocols":["mcp"],"tags":["cli","codegen","llm","mcp","model-context-protocol","skill"],"pricing":null,"endpoints":[{"url":"pypi:skillmd-to-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","summary":"pypi","version":"pypi","description":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"code.generation","name":"Code Generation","confidence":1,"provenance":"declared"}],"categories":["code"],"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":"skillmd-to-mcp","registry":"pypi","observedAt":"2026-10-22T20:24:32.285Z","publishedAt":"2026-07-06T15:19:40.487721Z","latestVersion":"0.1.1"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"skillmd-to-mcp","url":"https://pypi.org/project/skillmd-to-mcp/","firstSeenAt":"2026-09-10T12:22:24.492Z","fetchedAt":"2026-10-22T20:22:59.463Z","normalizedAt":"2026-10-22T20:22:59.463Z"}]},"firstSeenAt":"2026-09-10T12:22:24.492Z","updatedAt":"2026-10-22T20:24:32.285Z"}