Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
TypeScript-based framework for generating MCP servers from Swagger/OpenAPI specifications MCP Swagger Generator A TypeScript-based framework for generating MCP (Model Context Protocol) servers from OpenAPI/Swagger specifications. Transform your REST APIs into MCP tools that can be used with Claude Desktop and other MCP-compatible applications. ๐ What is MCP? The Model Context Protocol (MCP) is a standard for connecting AI assistants to external tools and data sources. This generator automatically creates Published capability contract available. No trust telemetry is available yet. Last updated 2/24/2026.
Freshness
Last checked 2/22/2026
Best For
Contract is available with explicit auth and schema references.
Not Ideal For
mcp-swagger-generator is not ideal for teams that need stronger public trust telemetry, lower setup complexity, or more explicit contract coverage before production rollout.
Evidence Sources Checked
editorial-content, capability-contract, runtime-metrics, public facts pack
TypeScript-based framework for generating MCP servers from Swagger/OpenAPI specifications MCP Swagger Generator A TypeScript-based framework for generating MCP (Model Context Protocol) servers from OpenAPI/Swagger specifications. Transform your REST APIs into MCP tools that can be used with Claude Desktop and other MCP-compatible applications. ๐ What is MCP? The Model Context Protocol (MCP) is a standard for connecting AI assistants to external tools and data sources. This generator automatically creates
Public facts
6
Change events
1
Artifacts
0
Freshness
Feb 22, 2026
Published capability contract available. No trust telemetry is available yet. Last updated 2/24/2026.
Trust score
Unknown
Compatibility
MCP
Freshness
Feb 22, 2026
Vendor
Sharafnu
Artifacts
0
Benchmarks
0
Last release
1.0.0
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Published capability contract available. No trust telemetry is available yet. Last updated 2/24/2026.
Setup snapshot
git clone https://github.com/sharafnu/mcp-swagger.gitSetup complexity is MEDIUM. Standard integration tests and API key provisioning are required before connecting this to production workloads.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Sharafnu
Protocol compatibility
MCP
Auth modes
mcp, api_key, oauth
Machine-readable schemas
OpenAPI or schema references published
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
bash
git clone <repository-url> cd mcp-swagger-generator npm install
bash
npm run build
bash
# From a URL npm run cli -- generate \ --input https://petstore.swagger.io/v2/swagger.json \ --output ./generated-servers/petstore # From a local file npm run cli -- generate \ --input ./my-api-spec.yaml \ --output ./generated-servers/my-api \ --base-url https://api.example.com
bash
cd generated-servers/petstore npm install npm run build npm start
json
{
"mcpServers": {
"petstore": {
"command": "node",
"args": ["path/to/generated-servers/petstore/dist/index.js"],
"env": {
"CLIENT_ID": "your-client-id",
"CLIENT_SECRET": "your-client-secret",
"API_BASE_URL": "https://api.example.com"
}
}
}
}bash
npm run cli -- generate [options]
Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB MCP
Editorial quality
ready
TypeScript-based framework for generating MCP servers from Swagger/OpenAPI specifications MCP Swagger Generator A TypeScript-based framework for generating MCP (Model Context Protocol) servers from OpenAPI/Swagger specifications. Transform your REST APIs into MCP tools that can be used with Claude Desktop and other MCP-compatible applications. ๐ What is MCP? The Model Context Protocol (MCP) is a standard for connecting AI assistants to external tools and data sources. This generator automatically creates
A TypeScript-based framework for generating MCP (Model Context Protocol) servers from OpenAPI/Swagger specifications. Transform your REST APIs into MCP tools that can be used with Claude Desktop and other MCP-compatible applications.
The Model Context Protocol (MCP) is a standard for connecting AI assistants to external tools and data sources. This generator automatically creates MCP servers from your OpenAPI specifications, allowing AI assistants to interact with your APIs seamlessly.
git clone <repository-url>
cd mcp-swagger-generator
npm install
npm run build
# From a URL
npm run cli -- generate \
--input https://petstore.swagger.io/v2/swagger.json \
--output ./generated-servers/petstore
# From a local file
npm run cli -- generate \
--input ./my-api-spec.yaml \
--output ./generated-servers/my-api \
--base-url https://api.example.com
cd generated-servers/petstore
npm install
npm run build
npm start
Add the generated server to your Claude Desktop configuration:
{
"mcpServers": {
"petstore": {
"command": "node",
"args": ["path/to/generated-servers/petstore/dist/index.js"],
"env": {
"CLIENT_ID": "your-client-id",
"CLIENT_SECRET": "your-client-secret",
"API_BASE_URL": "https://api.example.com"
}
}
}
}
Generate an MCP server from a single OpenAPI specification:
npm run cli -- generate [options]
Options:
-i, --input <path> - Input OpenAPI specification file or URL (required)-o, --output <path> - Output directory for generated server (required)-n, --name <name> - Server name (optional)-b, --base-url <url> - Override base URL for API calls (optional)-e, --enhance - Enable description enhancement (optional)-t, --template <path> - Custom template path (optional)Examples:
# Basic generation
npm run cli -- generate \
--input https://api.example.com/openapi.json \
--output ./my-server
# With custom settings
npm run cli -- generate \
--input ./api-spec.yaml \
--output ./custom-server \
--name "My Custom API" \
--base-url https://staging.api.example.com \
--enhance
Generate an MCP server from multiple OpenAPI specifications:
npm run cli -- batch [options]
Options:
-c, --config <path> - Configuration file with specification list (required)-o, --output <path> - Output directory for generated server (required)-n, --name <name> - Server name (optional)-e, --enhance - Enable description enhancement (optional)-t, --template <path> - Custom template path (optional)Configuration file format:
{
"specifications": [
{
"input": "https://api1.example.com/openapi.json",
"baseUrl": "https://api1.example.com"
},
{
"input": "./local-spec.yaml",
"baseUrl": "https://api2.example.com"
}
]
}
Validate an OpenAPI specification:
npm run cli -- validate --input <path>
You can also use the generator programmatically:
import { generateServer, generateBatchServer } from 'mcp-swagger-generator';
// Generate single server
await generateServer(
'https://petstore.swagger.io/v2/swagger.json',
'./output/petstore',
{
serverName: 'Petstore API',
baseUrl: 'https://petstore.swagger.io',
enhanceDescriptions: true
}
);
// Generate batch server
await generateBatchServer(
[
'https://api1.example.com/openapi.json',
'https://api2.example.com/openapi.json'
],
'./output/combined',
{
serverName: 'Combined API Server',
enhanceDescriptions: true
}
);
The generator creates a clean, modular server structure:
generated-server/
โโโ src/
โ โโโ index.ts # Main server entry point
โ โโโ tools/
โ โ โโโ index.ts # Tool registration
โ โ โโโ getPetById.ts # Individual tool files
โ โ โโโ createPet.ts # Individual tool files
โ โโโ types/
โ โ โโโ index.ts # TypeScript type definitions
โ โโโ utils/
โ โโโ index.ts # Utility functions (auth, etc.)
โโโ package.json
โโโ tsconfig.json
โโโ README.md # Generated server documentation
Set up authentication for your generated server:
# OAuth2/API Key authentication
export CLIENT_ID="your-client-id"
export CLIENT_SECRET="your-client-secret"
export API_BASE_URL="https://api.example.com"
export AUTH_ENDPOINT="/v2/auth/login"
{
"mcpServers": {
"my-api": {
"command": "node",
"args": ["path/to/generated-server/dist/index.js"],
"env": {
"CLIENT_ID": "your-client-id",
"CLIENT_SECRET": "your-client-secret",
"API_BASE_URL": "https://api.example.com"
}
}
}
}
cd generated-servers/your-server
npm install
npm run build
The MCP Inspector is a tool for testing MCP servers:
# Install MCP Inspector globally
npm install -g @modelcontextprotocol/inspector
# Test your server
mcp-inspector path/to/your-server/dist/index.js
You can also test the server directly:
# Run the server
npm start
# The server will output connection information
# Use MCP client tools to connect and test
# Watch mode for development
npm run dev
# Build the generator
npm run build
# Run tests
npm run test
# Lint code
npm run lint
# Format code
npm run format
# In your generated server directory
npm run build # Build the server
npm run dev # Build in watch mode
npm start # Run the server
npm run lint # Lint the generated code
npm run clean # Clean build artifacts
Transform any REST API into MCP tools:
npm run cli -- generate \
--input https://jsonplaceholder.typicode.com/openapi.json \
--output ./servers/jsonplaceholder
Generate MCP servers for internal APIs:
npm run cli -- generate \
--input ./internal-api-spec.yaml \
--output ./servers/internal \
--base-url https://internal-api.company.com
Combine multiple APIs into a single MCP server:
npm run cli -- batch \
--config ./multi-api-config.json \
--output ./servers/combined
Authentication Errors
CLIENT_ID and CLIENT_SECRET are setBuild Errors
npm install in the generated server directoryConnection Issues
npm run build)Enable debug logging:
DEBUG=mcp-swagger-generator npm run cli -- generate --input <spec> --output <dir>
src/core/parser.ts) - OpenAPI specification parsingsrc/core/generator.ts) - MCP tool generationsrc/core/enhancer.ts) - Description enhancementsrc/core/validator.ts) - Schema validationtemplates/) - Code generation templatesgit checkout -b feature/amazing-feature)npm test && npm run lint)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)This project is licensed under the MIT License - see the LICENSE file for details.
Happy API integrating! ๐
For more examples and advanced usage, check out the examples directory.
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
ready
Auth
mcp, api_key, oauth
Streaming
No
Data region
global
Protocol support
Requires: mcp, lang:typescript
Forbidden: none
Guardrails
Operational confidence: medium
curl -s "https://xpersona.co/api/v1/agents/mcp-sharafnu-mcp-swagger/snapshot"
curl -s "https://xpersona.co/api/v1/agents/mcp-sharafnu-mcp-swagger/contract"
curl -s "https://xpersona.co/api/v1/agents/mcp-sharafnu-mcp-swagger/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
80
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
74
Expose OpenAPI definition endpoints as MCP tools using the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Rank
72
An actix_web backend for the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Contract JSON
{
"contractStatus": "ready",
"authModes": [
"mcp",
"api_key",
"oauth"
],
"requires": [
"mcp",
"lang:typescript"
],
"forbidden": [],
"supportsMcp": true,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": "https://github.com/sharafnu/mcp-swagger#input",
"outputSchemaRef": "https://github.com/sharafnu/mcp-swagger#output",
"dataRegion": "global",
"contractUpdatedAt": "2026-02-24T19:46:45.739Z",
"sourceUpdatedAt": "2026-02-24T19:46:45.739Z",
"freshnessSeconds": 4441161
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/mcp-sharafnu-mcp-swagger/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/mcp-sharafnu-mcp-swagger/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/mcp-sharafnu-mcp-swagger/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/mcp-sharafnu-mcp-swagger/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-sharafnu-mcp-swagger/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-sharafnu-mcp-swagger/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"MCP"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_MCP",
"generatedAt": "2026-04-17T05:26:06.809Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "MCP",
"type": "protocol",
"support": "supported",
"confidenceSource": "contract",
"notes": "Confirmed by capability contract"
},
{
"key": "mcp",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "swagger",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "openapi",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "typescript",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "server",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "generator",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "cli",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:MCP|supported|contract capability:mcp|supported|profile capability:swagger|supported|profile capability:openapi|supported|profile capability:typescript|supported|profile capability:server|supported|profile capability:generator|supported|profile capability:cli|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "MCP",
"href": "https://xpersona.co/api/v1/agents/mcp-sharafnu-mcp-swagger/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-sharafnu-mcp-swagger/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:46:45.739Z",
"isPublic": true
},
{
"factKey": "auth_modes",
"category": "compatibility",
"label": "Auth modes",
"value": "mcp, api_key, oauth",
"href": "https://xpersona.co/api/v1/agents/mcp-sharafnu-mcp-swagger/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-sharafnu-mcp-swagger/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:46:45.739Z",
"isPublic": true
},
{
"factKey": "schema_refs",
"category": "artifact",
"label": "Machine-readable schemas",
"value": "OpenAPI or schema references published",
"href": "https://github.com/sharafnu/mcp-swagger#input",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-sharafnu-mcp-swagger/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:46:45.739Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Sharafnu",
"href": "https://github.com/sharafnu/mcp-swagger",
"sourceUrl": "https://github.com/sharafnu/mcp-swagger",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-24T19:43:14.176Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/mcp-sharafnu-mcp-swagger/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-sharafnu-mcp-swagger/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub ยท GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to mcp-swagger-generator and adjacent AI workflows.