agentify
Click on "Install 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., "@agentifylist tools from the Petstore API"
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.
agentify
Turn any OpenAPI / Swagger spec into an agent-ready MCP server.
Point it at a spec — a URL, a file, OpenAPI 3.x or Swagger 2.0 — and every operation becomes a tool an AI agent can call. No code generation, no per-API boilerplate, no hosting. One command.
npx agentify-openapi https://petstore3.swagger.io/api/v3/openapi.json --listSwagger Petstore - OpenAPI 3.0 v1.0.27
Base URL: https://petstore3.swagger.io/api/v3
Tools: 19
getPetById
Find pet by ID.
findPetsByStatus
Finds Pets by status.
...Why
"Today, agents have to operate software designed for humans. The interfaces of the future will be built for agents — APIs, MCPs, CLIs — with agents as first-class citizens." — YC RFS: Software for Agents
There are tens of thousands of APIs that already describe themselves with an OpenAPI
document. agentify makes every one of them agent-native, instantly, without anyone
hand-writing an integration.
Related MCP server: Swagger MCP
Use it with Claude / any MCP client
Add to your MCP client config (e.g. Claude Desktop / Claude Code):
{
"mcpServers": {
"petstore": {
"command": "npx",
"args": ["-y", "agentify-openapi", "https://petstore3.swagger.io/api/v3/openapi.json"]
}
}
}The agent now has one tool per API operation. Calling a tool builds the HTTP request (path params, query string, headers, JSON body) and returns the live response.
Auth
Provide credentials via environment variables — agentify reads the spec's declared
security scheme to find the right header name when it can:
Variable | Effect |
|
|
| HTTP basic auth |
| API key (sent as a header by default) |
| Override the api-key header name |
| Send the api key as a query param instead |
You can also inject raw headers from the CLI: --header "X-Org-Id: 42" (repeatable).
CLI
agentify <spec-url-or-file> [options]
--base-url <url> Override the API base URL from the spec
--header "K: V" Add a raw header to every request (repeatable)
--name <name> Override the MCP server name
--list Print the discovered tools and exit (no server)
-h, --help Show helpHow it works
A small, pure pipeline — each stage is independently unit-tested:
spec ──▶ operations ──▶ tool defs ──▶ http request ──▶ response
│ │ │ │ │
load & one tool JSON Schema path/query/ fetch + surface
deref per op for inputs header/body status & body
$refs + authOnly the HTTP execution and MCP transport touch the outside world; everything else is deterministic and tested.
Programmatic use
import { loadSpec, extractOperations, resolveBaseUrl, createServer } from "agentify-openapi";
const spec = await loadSpec("./openapi.yaml");
const tools = extractOperations(spec);
const baseUrl = resolveBaseUrl(spec);
// ...build your own MCP server, or just inspect the generated tool defsLimitations (v0.1)
JSON request/response bodies are first-class;
multipart/form bodies are passed through best-effort.cookieparameters and OAuth2 flows are not yet handled (use--headerfor now).One server per spec. Multi-spec aggregation is on the roadmap.
Development
npm install
npm test # vitest, 80%+ coverage enforced
npm run build # tsc -> dist/
node scripts/smoke.mjs # end-to-end MCP client smoke test (network)License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sani-savaliya/agentify'
If you have feedback or need assistance with the MCP directory API, please join our Discord server