-
Notifications
You must be signed in to change notification settings - Fork 17
Home
Effortlessly Build and Serve Model Context Protocol (MCP) Servers with OpenAPI, Swagger, or Google Discovery Specifications using .NET.
QuickMCP is a powerful .NET toolkit designed to streamline the creation and deployment of Model Context Protocol (MCP) servers. It allows developers to quickly generate servers from OpenAPI, Swagger, or Google Discovery specifications, reducing boilerplate code and accelerating development.
- Generate .NET MCP servers from OpenAPI/Swagger/Google Discovery specifications
- Highly configurable .NET library with CLI utility for rapid deployment
- Multiple configuration approaches (Configuration options or method chaining)
- Comprehensive authentication support:
- API Key, Basic, Bearer Token, OAuth 2.0, Custom Header
- Custom authentication implementation interface
- Generate Tools with Path filtering, HTTP customization, error handling, and logging
- Seamless integration with MCP clients like Claude Desktop
- Configuration file support and full async/await capabilities
dotnet tool install -g QuickMCP.CLIdotnet add package QuickMCP# Serve directly from OpenAPI specification
quickmcp serve --spec-url https://petstore.swagger.io/v2/swagger.json
# Build a configuration file
quickmcp build config --spec-url https://petstore.swagger.io/v2/swagger.json --output-path ./config
# Serve using a configuration file
quickmcp serve --config-path ./config/mcp_server_config.json
# Add authentication to your configuration
quickmcp build config --spec-url https://api.example.com/swagger.json --auth bearer
# Add a server configuration for quick access
quickmcp add server /path/to/config.json -n MyServer
# List available servers
quickmcp list server
# Remove a stored server configuration
quickmcp delete server MyServer// Create and configure a server
var serverInfoBuilder = McpServerInfoBuilder.ForOpenApi()
.FromUrl("https://petstore.swagger.io/v2/swagger.json")
.WithBaseUrl("https://petstore.swagger.io")
.AddDefaultHeader("User-Agent", "QuickMCP Client")
.AddAuthentication(new ApiKeyAuthenticator("your-api-key", "X-API-Key", "header"));
// Build server info
var serverInfo = await serverInfoBuilder.BuildAsync();
//Integrate with official MCP C# SDK
var hostBuilder = Host.CreateApplicationBuilder();
var mcpBuilder = hostBuilder.Services
.AddMcpServer()
.WithQuickMCP(mcpServerInfo)
.WithStdioServerTransport();
//Run Server
await hostBuilder.Build().RunAsync(); {
"mcpServers": {
"petStore": {
"command": "quickmcp",
"args": ["serve", "-c", "path/to/config.json"]
}
}
}For detailed documentation on the following topics, refer to the wiki:
QuickMCP CLI provides several commands to manage your MCP servers:
Start an MCP server using API specifications or configuration files.
quickmcp serve --spec-url https://petstore.swagger.io/v2/swagger.json
quickmcp serve --config-path ./config/mcp_server_config.jsonGenerate server configurations and specifications.
quickmcp build config --spec-url https://petstore.swagger.io/v2/swagger.json --output-path ./config
quickmcp build spec -d url_to_documentationView available authentication options and configured servers.
quickmcp list auth
quickmcp list serverAdd server configurations for quick access.
quickmcp add server /path/to/config.json -n MyServerRemove stored server configurations.
quickmcp delete server MyServerFor complete documentation of all CLI commands and options, see our CLI Usage page.
We welcome contributions! Submit PR or Issues to contribute to the project.
QuickMCP is licensed under the MIT License. See the LICENSE file for details.