Name | mcp-this-openapi JSON |
Version |
0.0.8
JSON |
| download |
home_page | None |
Summary | MCP Server that creates tools from OpenAPI/Swagger specifications |
upload_time | 2025-07-11 00:16:20 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.11 |
license | None |
keywords |
ai
claude
mcp
openapi
swagger
tools
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# mcp-this-openapi
[](https://github.com/shane-kercheval/mcp-this-openapi/actions/workflows/tests.yaml)
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/Apache-2.0)
A Model Context Protocol (MCP) server that automatically generates tools from OpenAPI/Swagger specifications, allowing MCP Clients (e.g. Claude Desktop) to interact with any REST API.
## Features
- 🔄 **Automatic Tool Generation**: Converts OpenAPI specs into callable MCP tools
- 🔐 **Multiple Authentication Types**: Bearer tokens, API keys, Basic auth, or no auth
- 🎯 **Path Filtering**: Include/exclude specific API endpoints using regex patterns
- 🌐 **Flexible Spec Loading**: Supports both JSON and YAML OpenAPI specifications
- 🔒 **Environment Variables**: Secure credential management with `${VAR_NAME}` expansion
- 🛡️ **Secure by Default**: Only GET (read-only) operations enabled by default
## Quick Start
### Minimal Usage
The easiest way to get started is with a simple command line argument:
**1. Configure Claude Desktop**
Add this to your Claude Desktop `claude_desktop_config.json`:
```json
{
"mcpServers": {
"petstore": {
"command": "uvx",
"args": [
"mcp-this-openapi",
"--openapi-spec-url",
"https://petstore3.swagger.io/api/v3/openapi.json"
]
}
}
}
```
**2. Try it in Claude**
Once configured, you can ask Claude things like:
- "What pet operations are available?"
- "Get information about pet with ID 1"
- "Show me the pet store inventory"
**🔒 Security Note**: By default, only `GET` (read-only) operations are enabled for safety.
### Advanced Usage (Configuration File)
For authentication, filtering, or other advanced features, create a YAML configuration file:
**1. Create `petstore-config.yaml`:**
```yaml
server:
name: "petstore-demo"
openapi:
spec_url: "https://petstore3.swagger.io/api/v3/openapi.json"
authentication:
type: "none"
include_methods:
- GET
- POST # Explicitly enable creating resources
- PUT # Explicitly enable updating resources
```
**2. Configure Claude Desktop:**
```json
{
"mcpServers": {
"petstore": {
"command": "uvx",
"args": [
"mcp-this-openapi",
"--config-path",
"/path/to/your/petstore-config.yaml"
]
}
}
}
```
## Configuration Reference
### CLI Arguments (Minimal Usage)
For simple use cases, you can use CLI arguments instead of a configuration file:
```bash
# Minimal usage (with default server name)
mcp-this-openapi --openapi-spec-url https://petstore3.swagger.io/api/v3/openapi.json
# With custom server name
mcp-this-openapi \
--openapi-spec-url https://petstore3.swagger.io/api/v3/openapi.json \
--server-name "my-petstore"
# With method filtering (comma-separated)
mcp-this-openapi \
--openapi-spec-url https://petstore3.swagger.io/api/v3/openapi.json \
--include-methods GET,POST,PUT
# With method filtering (repeated flags)
mcp-this-openapi \
--openapi-spec-url https://petstore3.swagger.io/api/v3/openapi.json \
--include-methods GET \
--include-methods POST \
--exclude-methods DELETE
# All CLI options
mcp-this-openapi \
--openapi-spec-url https://petstore3.swagger.io/api/v3/openapi.json \
--server-name "my-petstore" \
--tool-naming auto \
--include-deprecated \
--include-methods GET,POST,PUT \
--exclude-methods DELETE \
--disable-schema-validation
```
**Available CLI Arguments:**
- `--openapi-spec-url URL` - URL to OpenAPI/Swagger specification (required)
- `--server-name NAME` - Name for the MCP server (optional, defaults to "openapi-server")
- `--include-deprecated` - Include deprecated endpoints (excluded by default)
- `--tool-naming {default,auto}` - Tool naming strategy (default: "default")
- `--disable-schema-validation` - Disable API response schema validation (useful for APIs with broken schemas)
- `--include-methods METHODS` - HTTP methods to include (repeatable or comma-separated)
- `--exclude-methods METHODS` - HTTP methods to exclude (repeatable or comma-separated)
- `--config-path PATH` - Path to YAML configuration file (mutually exclusive with --openapi-spec-url)
**Method Filtering Syntax:**
The `--include-methods` and `--exclude-methods` arguments support flexible syntax:
```bash
# Comma-separated (concise)
--include-methods GET,POST,PUT
# Repeated flags (explicit)
--include-methods GET --include-methods POST --include-methods PUT
# Mixed (both work together)
--include-methods GET,POST --include-methods PUT
```
Both approaches can be used interchangeably and will be combined. Values are case-insensitive and whitespace is ignored.
**Claude Desktop Examples:**
*Basic usage:*
```json
{
"mcpServers": {
"my-api": {
"command": "uvx",
"args": [
"mcp-this-openapi",
"--openapi-spec-url", "https://api.example.com/openapi.json",
"--server-name", "my-api"
]
}
}
}
```
*With method filtering:*
```json
{
"mcpServers": {
"my-api": {
"command": "uvx",
"args": [
"mcp-this-openapi",
"--openapi-spec-url", "https://api.example.com/openapi.json",
"--include-methods", "GET,POST",
"--exclude-methods", "DELETE"
]
}
}
}
```
*All options combined:*
```json
{
"mcpServers": {
"my-api": {
"command": "uvx",
"args": [
"mcp-this-openapi",
"--openapi-spec-url", "https://api.example.com/openapi.json",
"--server-name", "my-api",
"--tool-naming", "auto",
"--include-deprecated",
"--include-methods", "GET,POST,PUT",
"--disable-schema-validation"
]
}
}
}
```
### YAML Configuration (Advanced Usage)
For authentication, method filtering, and other advanced features, use a YAML configuration file:
```yaml
server:
name: "my-api-server" # Name displayed in Claude
openapi:
spec_url: "https://api.example.com/openapi.json" # OpenAPI spec URL
# Authentication is optional - omit for no authentication
authentication:
type: "none" # Explicit no authentication (same as omitting this section)
```
**When to use YAML configuration:**
- ✅ API requires authentication
- ✅ Need to filter specific endpoints or methods
- ✅ Want to use environment variables for credentials
- ✅ Complex API setup
**When to use CLI arguments:**
- ✅ Public API with no authentication
- ✅ Quick testing or prototyping
- ✅ Simple setup
- ✅ Default GET-only access is sufficient
### Authentication Options
#### No Authentication
```yaml
# Option 1: Omit authentication section entirely (recommended)
# No authentication section needed
# Option 2: Explicit none type
authentication:
type: "none"
```
#### Bearer Token
```yaml
authentication:
type: "bearer"
token: "your-bearer-token"
# Or use environment variable:
# token: "${API_TOKEN}"
```
#### API Key
```yaml
authentication:
type: "api_key"
api_key: "your-api-key"
header_name: "X-API-Key" # Optional, defaults to "X-API-Key"
# Or use environment variable:
# api_key: "${API_KEY}"
```
#### Basic Authentication
```yaml
authentication:
type: "basic"
username: "your-username"
password: "your-password"
# Or use environment variables:
# username: "${API_USER}"
# password: "${API_PASS}"
```
### Path and Method Filtering
Control which API endpoints and HTTP methods are exposed as tools:
```yaml
server:
name: "filtered-api"
openapi:
spec_url: "https://api.example.com/openapi.json"
authentication:
type: "none"
# Include only user and repo related endpoints
include_patterns:
- "^/users"
- "^/repos"
# Exclude admin endpoints
exclude_patterns:
- "^/admin"
- "^/internal"
# Only allow safe read operations
include_methods:
- GET
- HEAD
# Or exclude dangerous operations
exclude_methods:
- DELETE
- PUT
- PATCH
```
#### Method Filtering Examples
**🛡️ Default Behavior** (automatic, no configuration needed):
```yaml
# GET-only operations are enabled by default for security
# No method filtering configuration needed for read-only access
server:
name: "safe-api"
openapi:
spec_url: "https://api.example.com/openapi.json"
```
**Enable Write Operations** (explicit opt-in required):
```yaml
include_methods:
- GET
- POST # Allow creating resources
- PUT # Allow updating resources
```
**All Operations** (for full API access):
```yaml
include_methods:
- GET
- POST
- PUT
- DELETE
- PATCH
```
**Exclude Specific Operations**:
```yaml
exclude_methods:
- DELETE # Allow all except delete
```
**Combined Path and Method Filtering**:
```yaml
# Only allow GET operations on user endpoints
include_patterns:
- "^/users"
include_methods:
- GET
```
**Deprecated Endpoints**:
```yaml
# By default, deprecated endpoints are excluded
# To include them, add:
include_deprecated: true
```
**Tool Naming Strategy**:
```yaml
# Default: use operationId from OpenAPI spec as-is
tool_naming: "default" # Tools named like "getUserById", "createUser"
# Auto: generate clean names with smart clash detection
tool_naming: "auto" # Tools named like "get_users", "post_users"
# Automatically handles version clashes: "v1_get_users", "v2_get_users"
```
**Schema Validation**:
```yaml
# Default: enable schema validation for API responses
disable_schema_validation: false
# Disable if you get "PointerToNowhere" or other schema reference errors
disable_schema_validation: true
```
### Environment Variables
Keep sensitive credentials out of your config files:
```yaml
server:
name: "secure-api"
openapi:
spec_url: "https://api.example.com/openapi.json"
authentication:
type: "bearer"
token: "${API_TOKEN}" # Will read from environment variable
```
Set the environment variable:
```bash
export API_TOKEN="your-secret-token"
```
## Real-World Examples
### GitHub API Example
```yaml
server:
name: "github-api"
openapi:
spec_url: "https://raw.githubusercontent.com/github/rest-api-description/main/descriptions/api.github.com/api.github.com.json"
authentication:
type: "bearer"
token: "${GITHUB_TOKEN}"
# Only expose user and repository operations
include_patterns:
- "^/user"
- "^/repos"
# Exclude admin operations
exclude_patterns:
- "^/admin"
```
### Stripe API Example
```yaml
server:
name: "stripe-api"
openapi:
spec_url: "https://raw.githubusercontent.com/stripe/openapi/master/openapi/spec3.json"
authentication:
type: "bearer"
token: "${STRIPE_SECRET_KEY}"
# Only expose safe read operations
include_patterns:
- "^/v1/customers"
- "^/v1/products"
- "^/v1/prices"
# Only allow read operations for safety
include_methods:
- GET
```
## License
This project is licensed under the MIT License - see the LICENSE file for details.
Raw data
{
"_id": null,
"home_page": null,
"name": "mcp-this-openapi",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "AI, Claude, MCP, OpenAPI, Swagger, tools",
"author": null,
"author_email": "Shane Kercheval <shane.kercheval@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/6f/ee/014516205152724f0a1d18cbef47204d891d1930ccec6719c1a9e005b902/mcp_this_openapi-0.0.8.tar.gz",
"platform": null,
"description": "# mcp-this-openapi\n\n[](https://github.com/shane-kercheval/mcp-this-openapi/actions/workflows/tests.yaml)\n[](https://www.python.org/downloads/)\n[](https://opensource.org/licenses/Apache-2.0)\n\nA Model Context Protocol (MCP) server that automatically generates tools from OpenAPI/Swagger specifications, allowing MCP Clients (e.g. Claude Desktop) to interact with any REST API.\n\n## Features\n\n- \ud83d\udd04 **Automatic Tool Generation**: Converts OpenAPI specs into callable MCP tools\n- \ud83d\udd10 **Multiple Authentication Types**: Bearer tokens, API keys, Basic auth, or no auth\n- \ud83c\udfaf **Path Filtering**: Include/exclude specific API endpoints using regex patterns\n- \ud83c\udf10 **Flexible Spec Loading**: Supports both JSON and YAML OpenAPI specifications\n- \ud83d\udd12 **Environment Variables**: Secure credential management with `${VAR_NAME}` expansion\n- \ud83d\udee1\ufe0f **Secure by Default**: Only GET (read-only) operations enabled by default\n\n## Quick Start\n\n### Minimal Usage\n\nThe easiest way to get started is with a simple command line argument:\n\n**1. Configure Claude Desktop**\n\nAdd this to your Claude Desktop `claude_desktop_config.json`:\n\n```json\n{\n \"mcpServers\": {\n \"petstore\": {\n \"command\": \"uvx\",\n \"args\": [\n \"mcp-this-openapi\",\n \"--openapi-spec-url\",\n \"https://petstore3.swagger.io/api/v3/openapi.json\"\n ]\n }\n }\n}\n```\n\n**2. Try it in Claude**\n\nOnce configured, you can ask Claude things like:\n- \"What pet operations are available?\"\n- \"Get information about pet with ID 1\" \n- \"Show me the pet store inventory\"\n\n**\ud83d\udd12 Security Note**: By default, only `GET` (read-only) operations are enabled for safety.\n\n### Advanced Usage (Configuration File)\n\nFor authentication, filtering, or other advanced features, create a YAML configuration file:\n\n**1. Create `petstore-config.yaml`:**\n\n```yaml\nserver:\n name: \"petstore-demo\"\nopenapi:\n spec_url: \"https://petstore3.swagger.io/api/v3/openapi.json\"\nauthentication:\n type: \"none\"\ninclude_methods:\n - GET\n - POST # Explicitly enable creating resources\n - PUT # Explicitly enable updating resources\n```\n\n**2. Configure Claude Desktop:**\n\n```json\n{\n \"mcpServers\": {\n \"petstore\": {\n \"command\": \"uvx\",\n \"args\": [\n \"mcp-this-openapi\",\n \"--config-path\",\n \"/path/to/your/petstore-config.yaml\"\n ]\n }\n }\n}\n```\n\n## Configuration Reference\n\n### CLI Arguments (Minimal Usage)\n\nFor simple use cases, you can use CLI arguments instead of a configuration file:\n\n```bash\n# Minimal usage (with default server name)\nmcp-this-openapi --openapi-spec-url https://petstore3.swagger.io/api/v3/openapi.json\n\n# With custom server name\nmcp-this-openapi \\\n --openapi-spec-url https://petstore3.swagger.io/api/v3/openapi.json \\\n --server-name \"my-petstore\"\n\n# With method filtering (comma-separated)\nmcp-this-openapi \\\n --openapi-spec-url https://petstore3.swagger.io/api/v3/openapi.json \\\n --include-methods GET,POST,PUT\n\n# With method filtering (repeated flags)\nmcp-this-openapi \\\n --openapi-spec-url https://petstore3.swagger.io/api/v3/openapi.json \\\n --include-methods GET \\\n --include-methods POST \\\n --exclude-methods DELETE\n\n# All CLI options\nmcp-this-openapi \\\n --openapi-spec-url https://petstore3.swagger.io/api/v3/openapi.json \\\n --server-name \"my-petstore\" \\\n --tool-naming auto \\\n --include-deprecated \\\n --include-methods GET,POST,PUT \\\n --exclude-methods DELETE \\\n --disable-schema-validation\n```\n\n**Available CLI Arguments:**\n- `--openapi-spec-url URL` - URL to OpenAPI/Swagger specification (required)\n- `--server-name NAME` - Name for the MCP server (optional, defaults to \"openapi-server\")\n- `--include-deprecated` - Include deprecated endpoints (excluded by default)\n- `--tool-naming {default,auto}` - Tool naming strategy (default: \"default\")\n- `--disable-schema-validation` - Disable API response schema validation (useful for APIs with broken schemas)\n- `--include-methods METHODS` - HTTP methods to include (repeatable or comma-separated)\n- `--exclude-methods METHODS` - HTTP methods to exclude (repeatable or comma-separated)\n- `--config-path PATH` - Path to YAML configuration file (mutually exclusive with --openapi-spec-url)\n\n**Method Filtering Syntax:**\n\nThe `--include-methods` and `--exclude-methods` arguments support flexible syntax:\n\n```bash\n# Comma-separated (concise)\n--include-methods GET,POST,PUT\n\n# Repeated flags (explicit)\n--include-methods GET --include-methods POST --include-methods PUT\n\n# Mixed (both work together)\n--include-methods GET,POST --include-methods PUT\n```\n\nBoth approaches can be used interchangeably and will be combined. Values are case-insensitive and whitespace is ignored.\n\n**Claude Desktop Examples:**\n\n*Basic usage:*\n```json\n{\n \"mcpServers\": {\n \"my-api\": {\n \"command\": \"uvx\",\n \"args\": [\n \"mcp-this-openapi\",\n \"--openapi-spec-url\", \"https://api.example.com/openapi.json\",\n \"--server-name\", \"my-api\"\n ]\n }\n }\n}\n```\n\n*With method filtering:*\n```json\n{\n \"mcpServers\": {\n \"my-api\": {\n \"command\": \"uvx\",\n \"args\": [\n \"mcp-this-openapi\",\n \"--openapi-spec-url\", \"https://api.example.com/openapi.json\",\n \"--include-methods\", \"GET,POST\",\n \"--exclude-methods\", \"DELETE\"\n ]\n }\n }\n}\n```\n\n*All options combined:*\n```json\n{\n \"mcpServers\": {\n \"my-api\": {\n \"command\": \"uvx\",\n \"args\": [\n \"mcp-this-openapi\",\n \"--openapi-spec-url\", \"https://api.example.com/openapi.json\",\n \"--server-name\", \"my-api\",\n \"--tool-naming\", \"auto\",\n \"--include-deprecated\",\n \"--include-methods\", \"GET,POST,PUT\",\n \"--disable-schema-validation\"\n ]\n }\n }\n}\n```\n\n### YAML Configuration (Advanced Usage)\n\nFor authentication, method filtering, and other advanced features, use a YAML configuration file:\n\n```yaml\nserver:\n name: \"my-api-server\" # Name displayed in Claude\n\nopenapi:\n spec_url: \"https://api.example.com/openapi.json\" # OpenAPI spec URL\n\n# Authentication is optional - omit for no authentication\nauthentication:\n type: \"none\" # Explicit no authentication (same as omitting this section)\n```\n\n**When to use YAML configuration:**\n- \u2705 API requires authentication\n- \u2705 Need to filter specific endpoints or methods\n- \u2705 Want to use environment variables for credentials\n- \u2705 Complex API setup\n\n**When to use CLI arguments:**\n- \u2705 Public API with no authentication\n- \u2705 Quick testing or prototyping\n- \u2705 Simple setup\n- \u2705 Default GET-only access is sufficient\n\n### Authentication Options\n\n#### No Authentication\n```yaml\n# Option 1: Omit authentication section entirely (recommended)\n# No authentication section needed\n\n# Option 2: Explicit none type\nauthentication:\n type: \"none\"\n```\n\n#### Bearer Token\n```yaml\nauthentication:\n type: \"bearer\"\n token: \"your-bearer-token\"\n # Or use environment variable:\n # token: \"${API_TOKEN}\"\n```\n\n#### API Key\n```yaml\nauthentication:\n type: \"api_key\"\n api_key: \"your-api-key\"\n header_name: \"X-API-Key\" # Optional, defaults to \"X-API-Key\"\n # Or use environment variable:\n # api_key: \"${API_KEY}\"\n```\n\n#### Basic Authentication\n```yaml\nauthentication:\n type: \"basic\"\n username: \"your-username\"\n password: \"your-password\"\n # Or use environment variables:\n # username: \"${API_USER}\"\n # password: \"${API_PASS}\"\n```\n\n### Path and Method Filtering\n\nControl which API endpoints and HTTP methods are exposed as tools:\n\n```yaml\nserver:\n name: \"filtered-api\"\n\nopenapi:\n spec_url: \"https://api.example.com/openapi.json\"\n\nauthentication:\n type: \"none\"\n\n# Include only user and repo related endpoints\ninclude_patterns:\n - \"^/users\"\n - \"^/repos\"\n\n# Exclude admin endpoints\nexclude_patterns:\n - \"^/admin\"\n - \"^/internal\"\n\n# Only allow safe read operations\ninclude_methods:\n - GET\n - HEAD\n\n# Or exclude dangerous operations\nexclude_methods:\n - DELETE\n - PUT\n - PATCH\n```\n\n#### Method Filtering Examples\n\n**\ud83d\udee1\ufe0f Default Behavior** (automatic, no configuration needed):\n```yaml\n# GET-only operations are enabled by default for security\n# No method filtering configuration needed for read-only access\nserver:\n name: \"safe-api\"\nopenapi:\n spec_url: \"https://api.example.com/openapi.json\"\n```\n\n**Enable Write Operations** (explicit opt-in required):\n```yaml\ninclude_methods:\n - GET\n - POST # Allow creating resources\n - PUT # Allow updating resources\n```\n\n**All Operations** (for full API access):\n```yaml\ninclude_methods:\n - GET\n - POST\n - PUT\n - DELETE\n - PATCH\n```\n\n**Exclude Specific Operations**:\n```yaml\nexclude_methods:\n - DELETE # Allow all except delete\n```\n\n**Combined Path and Method Filtering**:\n```yaml\n# Only allow GET operations on user endpoints\ninclude_patterns:\n - \"^/users\"\ninclude_methods:\n - GET\n```\n\n**Deprecated Endpoints**:\n```yaml\n# By default, deprecated endpoints are excluded\n# To include them, add:\ninclude_deprecated: true\n```\n\n**Tool Naming Strategy**:\n```yaml\n# Default: use operationId from OpenAPI spec as-is\ntool_naming: \"default\" # Tools named like \"getUserById\", \"createUser\"\n\n# Auto: generate clean names with smart clash detection\ntool_naming: \"auto\" # Tools named like \"get_users\", \"post_users\"\n # Automatically handles version clashes: \"v1_get_users\", \"v2_get_users\"\n```\n\n**Schema Validation**:\n```yaml\n# Default: enable schema validation for API responses\ndisable_schema_validation: false\n\n# Disable if you get \"PointerToNowhere\" or other schema reference errors\ndisable_schema_validation: true\n```\n\n### Environment Variables\n\nKeep sensitive credentials out of your config files:\n\n```yaml\nserver:\n name: \"secure-api\"\n\nopenapi:\n spec_url: \"https://api.example.com/openapi.json\"\n\nauthentication:\n type: \"bearer\"\n token: \"${API_TOKEN}\" # Will read from environment variable\n```\n\nSet the environment variable:\n```bash\nexport API_TOKEN=\"your-secret-token\"\n```\n\n## Real-World Examples\n\n### GitHub API Example\n\n```yaml\nserver:\n name: \"github-api\"\n\nopenapi:\n spec_url: \"https://raw.githubusercontent.com/github/rest-api-description/main/descriptions/api.github.com/api.github.com.json\"\n\nauthentication:\n type: \"bearer\"\n token: \"${GITHUB_TOKEN}\"\n\n# Only expose user and repository operations\ninclude_patterns:\n - \"^/user\"\n - \"^/repos\"\n\n# Exclude admin operations\nexclude_patterns:\n - \"^/admin\"\n```\n\n### Stripe API Example\n\n```yaml\nserver:\n name: \"stripe-api\"\n\nopenapi:\n spec_url: \"https://raw.githubusercontent.com/stripe/openapi/master/openapi/spec3.json\"\n\nauthentication:\n type: \"bearer\"\n token: \"${STRIPE_SECRET_KEY}\"\n\n# Only expose safe read operations\ninclude_patterns:\n - \"^/v1/customers\"\n - \"^/v1/products\"\n - \"^/v1/prices\"\n\n# Only allow read operations for safety\ninclude_methods:\n - GET\n```\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n",
"bugtrack_url": null,
"license": null,
"summary": "MCP Server that creates tools from OpenAPI/Swagger specifications",
"version": "0.0.8",
"project_urls": null,
"split_keywords": [
"ai",
" claude",
" mcp",
" openapi",
" swagger",
" tools"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "5b565e050ac713149f2d53a3de9714bce47e563ba3c9bebcf5b48a5cf29abc8b",
"md5": "342ba41265a72e34758489554782ecfc",
"sha256": "5394d4650d59f5b309450830098bfae273bb1e3c263899e01caa6458bf954f1e"
},
"downloads": -1,
"filename": "mcp_this_openapi-0.0.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "342ba41265a72e34758489554782ecfc",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 22304,
"upload_time": "2025-07-11T00:16:19",
"upload_time_iso_8601": "2025-07-11T00:16:19.510068Z",
"url": "https://files.pythonhosted.org/packages/5b/56/5e050ac713149f2d53a3de9714bce47e563ba3c9bebcf5b48a5cf29abc8b/mcp_this_openapi-0.0.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6fee014516205152724f0a1d18cbef47204d891d1930ccec6719c1a9e005b902",
"md5": "f0d0129d9555e8c4ce0ac8ffccbe3978",
"sha256": "0a135dd9e29fe690c41980e9ab040e0f37b501fb8d9d394cb056ec8ff844b87a"
},
"downloads": -1,
"filename": "mcp_this_openapi-0.0.8.tar.gz",
"has_sig": false,
"md5_digest": "f0d0129d9555e8c4ce0ac8ffccbe3978",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 76962,
"upload_time": "2025-07-11T00:16:20",
"upload_time_iso_8601": "2025-07-11T00:16:20.810046Z",
"url": "https://files.pythonhosted.org/packages/6f/ee/014516205152724f0a1d18cbef47204d891d1930ccec6719c1a9e005b902/mcp_this_openapi-0.0.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-11 00:16:20",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "mcp-this-openapi"
}