Server data from the Official MCP Registry
Turn any OpenAPI/Swagger spec into an MCP server - every API operation becomes an agent tool.
Turn any OpenAPI/Swagger spec into an MCP server - every API operation becomes an agent tool.
agentify is a well-structured MCP server for converting OpenAPI/Swagger specs into agent-callable tools. The codebase demonstrates strong security practices: authentication is properly handled through environment variables without hardcoding, input validation is present in request building, and dangerous operations like path traversal are protected. Minor code quality observations around broad exception handling and logging do not constitute security vulnerabilities. The server's permissions (network_http, env_vars, file_read) are appropriate for its purpose as an API-to-agent gateway. Supply chain analysis found 5 known vulnerabilities in dependencies (2 critical, 3 high severity). Package verification found 1 issue.
8 files analyzed · 9 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: AGENTIFY_BEARER_TOKEN
Environment variable: AGENTIFY_API_KEY
Environment variable: AGENTIFY_API_KEY_HEADER
Environment variable: AGENTIFY_API_KEY_QUERY
Environment variable: AGENTIFY_BASIC_USER
Environment variable: AGENTIFY_BASIC_PASS
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-sani-savaliya-agentify": {
"env": {
"AGENTIFY_API_KEY": "your-agentify-api-key-here",
"AGENTIFY_BASIC_PASS": "your-agentify-basic-pass-here",
"AGENTIFY_BASIC_USER": "your-agentify-basic-user-here",
"AGENTIFY_BEARER_TOKEN": "your-agentify-bearer-token-here",
"AGENTIFY_API_KEY_QUERY": "your-agentify-api-key-query-here",
"AGENTIFY_API_KEY_HEADER": "your-agentify-api-key-header-here"
},
"args": [
"-y",
"agentify-openapi"
],
"command": "npx"
}
}
}From the project's GitHub README.
Turn any OpenAPI / Swagger spec into an agent-ready MCP server.
Listed on the official MCP Registry (
io.github.sani-savaliya/agentify) and Smithery.
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 --list
Swagger 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.
...
"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.
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.
Provide credentials via environment variables — agentify reads the spec's declared
security scheme to find the right header name when it can:
| Variable | Effect |
|---|---|
AGENTIFY_BEARER_TOKEN | Authorization: Bearer <token> |
AGENTIFY_BASIC_USER / AGENTIFY_BASIC_PASS | HTTP basic auth |
AGENTIFY_API_KEY | API key (sent as a header by default) |
AGENTIFY_API_KEY_HEADER | Override the api-key header name |
AGENTIFY_API_KEY_QUERY | Send the api key as a query param instead |
You can also inject raw headers from the CLI: --header "X-Org-Id: 42" (repeatable).
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 help
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 + auth
Only the HTTP execution and MCP transport touch the outside world; everything else is deterministic and tested.
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 defs
multipart/form bodies are passed
through best-effort.cookie parameters and OAuth2 flows are not yet handled (use --header for now).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)
MIT
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.