api-explorer-mcp


Nameapi-explorer-mcp JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummaryA Model Context Protocol server for efficient OpenAPI/Swagger specification exploration and API testing
upload_time2025-07-16 20:13:15
maintainerNone
docs_urlNone
authorFoad Kesheh
requires_python>=3.10
licenseMIT
keywords api automation exploration llm mcp openapi swagger testing web
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # API Explorer MCP Server

A Model Context Protocol (MCP) server that provides efficient OpenAPI/Swagger specification exploration and API testing capabilities. Instead of loading entire API specs into context (which consumes many tokens), this server provides a summary-first approach with detailed endpoint exploration.

## Transport Modes

### 🌐 **Server Mode** - HTTP Transport
Perfect for web-based integrations and debugging:
- HTTP-based MCP server on configurable port
- Streamable HTTP sessions with SSE or JSON responses
- Easy to debug and test with curl or web tools
- Stateful spec management in memory

### 📡 **Stdio Mode** - Standard Input/Output Transport  
Ideal for direct MCP client integration:
- Standard input/output transport for MCP clients
- Direct integration with AI assistants and automation tools
- Efficient binary protocol communication
- Perfect for production MCP deployments

## Features

- **Smart OpenAPI Loading**: Load OpenAPI/Swagger specs from files or URLs with token-efficient summaries
- **Complete Schema Details**: Get detailed information about any schema/model definition
- **Endpoint Discovery**: Get high-level overviews of all available endpoints
- **Detailed Endpoint Info**: Retrieve comprehensive details for specific endpoints
- **API Execution**: Execute HTTP requests with full parameter support
- **Multiple Spec Support**: Manage multiple API specifications simultaneously
- **Dual Transport**: HTTP server for debugging + stdio for production

## Installation & Setup

### Dependencies
This project uses `uv` for dependency management. No local installation required - dependencies are managed automatically via `uv run --with`.

### Required Dependencies
- `anyio>=4.5`
- `click>=8.1.0`
- `httpx>=0.27`
- `mcp`
- `PyYAML>=6.0`
- `starlette`
- `uvicorn`

## Usage

### Running the Server

#### HTTP Transport (Server Mode)
```bash
# Start HTTP MCP server (default port 3000)
uv run --with "anyio>=4.5,click>=8.1.0,httpx>=0.27,mcp,PyYAML>=6.0,starlette,uvicorn" main.py server

# Custom port and debug logging
uv run --with "anyio>=4.5,click>=8.1.0,httpx>=0.27,mcp,PyYAML>=6.0,starlette,uvicorn" main.py server --port 8080 --log-level DEBUG

# JSON responses instead of SSE streams
uv run --with "anyio>=4.5,click>=8.1.0,httpx>=0.27,mcp,PyYAML>=6.0,starlette,uvicorn" main.py server --json-response
```

#### Stdio Transport (Stdio Mode)
```bash
# Start stdio MCP server
uv run --with "anyio>=4.5,click>=8.1.0,httpx>=0.27,mcp,PyYAML>=6.0,starlette,uvicorn" main.py stdio

# With debug logging
uv run --with "anyio>=4.5,click>=8.1.0,httpx>=0.27,mcp,PyYAML>=6.0,starlette,uvicorn" main.py --log-level DEBUG stdio
```

## MCP Client Integration

### Cursor/Claude Desktop Configuration

Add this to your MCP configuration file (e.g., `~/.cursor/mcp.json`):

```json
{
  "mcpServers": {
    "api-explorer": {
      "command": "/opt/homebrew/bin/uv",
      "args": [
        "run",
        "--with",
        "anyio>=4.5,click>=8.1.0,httpx>=0.27,mcp,PyYAML>=6.0,starlette,uvicorn",
        "/path/to/your/api-explorer-mcp/main.py",
        "stdio"
      ]
    }
  }
}
```

**Replace `/path/to/your/api-explorer-mcp/` with the actual path to this project directory.**

### Benefits of this Setup
- ✅ **No Installation Required**: Dependencies managed automatically by `uv`
- ✅ **Isolated Environment**: Each run gets fresh, isolated dependencies
- ✅ **Version Pinning**: Specific dependency versions ensure consistency
- ✅ **Zero Maintenance**: No virtual environments or dependency conflicts
- ✅ **Cross-Platform**: Works on any system with `uv` installed

## MCP Tools Available

### 1. `load-openapi-spec`
Load an OpenAPI/Swagger specification and get a concise summary.

**Parameters:**
- `file_path_or_url` (required): Path to local file or URL to fetch the spec
- `spec_id` (optional): Identifier for this spec (default: "default")

**Example:**
```json
{
  "file_path_or_url": "https://petstore3.swagger.io/api/v3/openapi.json",
  "spec_id": "petstore"
}
```

### 2. `get-schema-details`
Get detailed information about a specific schema from a loaded specification.

**Parameters:**
- `schema_name` (required): Name of the schema to get details for
- `spec_id` (optional): ID of the loaded spec (default: "default")

**Example:**
```json
{
  "schema_name": "Pet",
  "spec_id": "petstore"
}
```

### 3. `get-endpoint-details`
Get detailed information about a specific endpoint from a loaded specification.

**Parameters:**
- `path` (required): API endpoint path (e.g., `/users/{id}`)
- `method` (required): HTTP method (GET, POST, PUT, DELETE, etc.)
- `spec_id` (optional): ID of the loaded spec (default: "default")

**Example:**
```json
{
  "path": "/pet/{petId}",
  "method": "GET",
  "spec_id": "petstore"
}
```

### 4. `execute-api-call`
Execute an HTTP API call with specified parameters.

**Parameters:**
- `url` (required): Full URL for the API call
- `method` (optional): HTTP method (default: "GET")
- `headers` (optional): HTTP headers as key-value pairs
- `params` (optional): Query parameters as key-value pairs
- `body` (optional): Request body (automatically JSON-encoded if object/array)
- `timeout` (optional): Request timeout in seconds (default: 30)

**Example:**
```json
{
  "url": "https://petstore3.swagger.io/api/v3/pet/1",
  "method": "GET",
  "headers": {
    "Authorization": "Bearer your-token",
    "Accept": "application/json"
  }
}
```

## Usage Workflow

1. **Load a Specification**: Use `load-openapi-spec` to load your API spec and see a summary of all schemas and endpoints
2. **Explore Schemas**: Use `get-schema-details` to understand data models and their properties
3. **Explore Endpoints**: Use `get-endpoint-details` to get full information about specific endpoints
4. **Execute Calls**: Use `execute-api-call` to make actual HTTP requests to the API

## Command Line Options

### Global Options
- `--log-level` - Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
- `--help` - Show help message

### Server Mode Options
- `--port` - Port to listen on (default: 3000)
- `--json-response` - Enable JSON responses instead of SSE streams

## Examples

### HTTP Server Mode Testing
```bash
# 1. Start the server
uv run --with "anyio>=4.5,click>=8.1.0,httpx>=0.27,mcp,PyYAML>=6.0,starlette,uvicorn" main.py server --port 3000

# 2. Load a spec (using curl)
curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "method": "tools/call",
    "params": {
      "name": "load-openapi-spec",
      "arguments": {
        "file_path_or_url": "https://petstore3.swagger.io/api/v3/openapi.json"
      }
    }
  }'

# 3. Get schema details
curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "method": "tools/call",
    "params": {
      "name": "get-schema-details",
      "arguments": {
        "schema_name": "Pet"
      }
    }
  }'

# 4. Execute API call
curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "method": "tools/call",
    "params": {
      "name": "execute-api-call",
      "arguments": {
        "url": "https://petstore3.swagger.io/api/v3/pet/1",
        "method": "GET"
      }
    }
  }'
```

### MCP Integration Example
Once configured in your MCP client, you can use natural language:

```
# Load Shippo API
"Load the Shippo API spec from https://docs.goshippo.com/spec/shippoapi/public-api.yaml"

# Explore schemas
"Show me the Address schema details"

# Make API calls  
"Validate this address: 215 Clayton St, San Francisco, CA 94117"
```

## Real-World Example: Shippo API

Here's a complete example using the Shippo shipping API:

### 1. Load the API Specification
```json
{
  "method": "tools/call",
  "params": {
    "name": "load-openapi-spec",
    "arguments": {
      "file_path_or_url": "https://docs.goshippo.com/spec/shippoapi/public-api.yaml",
      "spec_id": "shippo"
    }
  }
}
```

### 2. Explore Address Schema
```json
{
  "method": "tools/call", 
  "params": {
    "name": "get-schema-details",
    "arguments": {
      "schema_name": "Address",
      "spec_id": "shippo"
    }
  }
}
```

### 3. Get Address Validation Endpoint Details
```json
{
  "method": "tools/call",
  "params": {
    "name": "get-endpoint-details", 
    "arguments": {
      "path": "/addresses/{AddressId}/validate",
      "method": "GET",
      "spec_id": "shippo"
    }
  }
}
```

### 4. Validate an Address
```json
{
  "method": "tools/call",
  "params": {
    "name": "execute-api-call",
    "arguments": {
      "url": "https://api.goshippo.com/addresses",
      "method": "POST",
      "headers": {
        "Authorization": "ShippoToken shippo_test_5f7270ee3a59ac0bb0e5e993484fd472965d98c7",
        "Content-Type": "application/json"
      },
      "body": {
        "name": "Shawn Ippotle",
        "street1": "215 Clayton St",
        "city": "San Francisco", 
        "state": "CA",
        "zip": "94117",
        "country": "US",
        "validate": true
      }
    }
  }
}
```

## Benefits

### Server Mode Benefits
- ✅ **Easy Debugging**: HTTP interface allows testing with curl and web tools
- ✅ **Flexible Integration**: Works with any HTTP client
- ✅ **Visual Inspection**: Easy to inspect requests and responses
- ✅ **Development Friendly**: Great for development and testing

### Stdio Mode Benefits  
- ✅ **Direct Integration**: Native MCP client communication
- ✅ **Efficient Protocol**: Binary MCP protocol for optimal performance
- ✅ **Production Ready**: Designed for production AI assistant integration
- ✅ **Standard Compliant**: Full MCP specification compliance

### Shared Benefits
- ✅ **Token Efficient**: Only load what you need, when you need it
- ✅ **Persistent State**: Loaded specs stay in memory across requests
- ✅ **Complete Coverage**: Full schema details, endpoint info, and API execution
- ✅ **Real Testing**: Actually execute API calls, not just explore documentation
- ✅ **Multiple APIs**: Handle multiple API specifications simultaneously
- ✅ **Format Support**: OpenAPI 3.x and Swagger 2.x (JSON/YAML)
- ✅ **Zero Installation**: Dependencies managed automatically by `uv`
- ✅ **Isolated Environment**: Each run gets fresh dependencies

## Supported Formats

- OpenAPI 3.x (JSON and YAML)
- Swagger 2.x (JSON and YAML)
- Auto-detection based on file extension and content

## Requirements

- [`uv`](https://docs.astral.sh/uv/) - Fast Python package installer and resolver
- Python 3.8+ (managed automatically by `uv`)

---

**Choose Your Transport:**
- Use **Server mode** for development, debugging, and HTTP-based integrations
- Use **Stdio mode** for production MCP client integration and AI assistants

**Zero Setup Required:** Just configure the MCP client with the `uv run` command and start exploring APIs!


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "api-explorer-mcp",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "api, automation, exploration, llm, mcp, openapi, swagger, testing, web",
    "author": "Foad Kesheh",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/13/3a/58d0a7eafa6e289d5a21439d1aae79ea6f29f548316be5163a3a16c9529f/api_explorer_mcp-0.1.0.tar.gz",
    "platform": null,
    "description": "# API Explorer MCP Server\n\nA Model Context Protocol (MCP) server that provides efficient OpenAPI/Swagger specification exploration and API testing capabilities. Instead of loading entire API specs into context (which consumes many tokens), this server provides a summary-first approach with detailed endpoint exploration.\n\n## Transport Modes\n\n### \ud83c\udf10 **Server Mode** - HTTP Transport\nPerfect for web-based integrations and debugging:\n- HTTP-based MCP server on configurable port\n- Streamable HTTP sessions with SSE or JSON responses\n- Easy to debug and test with curl or web tools\n- Stateful spec management in memory\n\n### \ud83d\udce1 **Stdio Mode** - Standard Input/Output Transport  \nIdeal for direct MCP client integration:\n- Standard input/output transport for MCP clients\n- Direct integration with AI assistants and automation tools\n- Efficient binary protocol communication\n- Perfect for production MCP deployments\n\n## Features\n\n- **Smart OpenAPI Loading**: Load OpenAPI/Swagger specs from files or URLs with token-efficient summaries\n- **Complete Schema Details**: Get detailed information about any schema/model definition\n- **Endpoint Discovery**: Get high-level overviews of all available endpoints\n- **Detailed Endpoint Info**: Retrieve comprehensive details for specific endpoints\n- **API Execution**: Execute HTTP requests with full parameter support\n- **Multiple Spec Support**: Manage multiple API specifications simultaneously\n- **Dual Transport**: HTTP server for debugging + stdio for production\n\n## Installation & Setup\n\n### Dependencies\nThis project uses `uv` for dependency management. No local installation required - dependencies are managed automatically via `uv run --with`.\n\n### Required Dependencies\n- `anyio>=4.5`\n- `click>=8.1.0`\n- `httpx>=0.27`\n- `mcp`\n- `PyYAML>=6.0`\n- `starlette`\n- `uvicorn`\n\n## Usage\n\n### Running the Server\n\n#### HTTP Transport (Server Mode)\n```bash\n# Start HTTP MCP server (default port 3000)\nuv run --with \"anyio>=4.5,click>=8.1.0,httpx>=0.27,mcp,PyYAML>=6.0,starlette,uvicorn\" main.py server\n\n# Custom port and debug logging\nuv run --with \"anyio>=4.5,click>=8.1.0,httpx>=0.27,mcp,PyYAML>=6.0,starlette,uvicorn\" main.py server --port 8080 --log-level DEBUG\n\n# JSON responses instead of SSE streams\nuv run --with \"anyio>=4.5,click>=8.1.0,httpx>=0.27,mcp,PyYAML>=6.0,starlette,uvicorn\" main.py server --json-response\n```\n\n#### Stdio Transport (Stdio Mode)\n```bash\n# Start stdio MCP server\nuv run --with \"anyio>=4.5,click>=8.1.0,httpx>=0.27,mcp,PyYAML>=6.0,starlette,uvicorn\" main.py stdio\n\n# With debug logging\nuv run --with \"anyio>=4.5,click>=8.1.0,httpx>=0.27,mcp,PyYAML>=6.0,starlette,uvicorn\" main.py --log-level DEBUG stdio\n```\n\n## MCP Client Integration\n\n### Cursor/Claude Desktop Configuration\n\nAdd this to your MCP configuration file (e.g., `~/.cursor/mcp.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"api-explorer\": {\n      \"command\": \"/opt/homebrew/bin/uv\",\n      \"args\": [\n        \"run\",\n        \"--with\",\n        \"anyio>=4.5,click>=8.1.0,httpx>=0.27,mcp,PyYAML>=6.0,starlette,uvicorn\",\n        \"/path/to/your/api-explorer-mcp/main.py\",\n        \"stdio\"\n      ]\n    }\n  }\n}\n```\n\n**Replace `/path/to/your/api-explorer-mcp/` with the actual path to this project directory.**\n\n### Benefits of this Setup\n- \u2705 **No Installation Required**: Dependencies managed automatically by `uv`\n- \u2705 **Isolated Environment**: Each run gets fresh, isolated dependencies\n- \u2705 **Version Pinning**: Specific dependency versions ensure consistency\n- \u2705 **Zero Maintenance**: No virtual environments or dependency conflicts\n- \u2705 **Cross-Platform**: Works on any system with `uv` installed\n\n## MCP Tools Available\n\n### 1. `load-openapi-spec`\nLoad an OpenAPI/Swagger specification and get a concise summary.\n\n**Parameters:**\n- `file_path_or_url` (required): Path to local file or URL to fetch the spec\n- `spec_id` (optional): Identifier for this spec (default: \"default\")\n\n**Example:**\n```json\n{\n  \"file_path_or_url\": \"https://petstore3.swagger.io/api/v3/openapi.json\",\n  \"spec_id\": \"petstore\"\n}\n```\n\n### 2. `get-schema-details`\nGet detailed information about a specific schema from a loaded specification.\n\n**Parameters:**\n- `schema_name` (required): Name of the schema to get details for\n- `spec_id` (optional): ID of the loaded spec (default: \"default\")\n\n**Example:**\n```json\n{\n  \"schema_name\": \"Pet\",\n  \"spec_id\": \"petstore\"\n}\n```\n\n### 3. `get-endpoint-details`\nGet detailed information about a specific endpoint from a loaded specification.\n\n**Parameters:**\n- `path` (required): API endpoint path (e.g., `/users/{id}`)\n- `method` (required): HTTP method (GET, POST, PUT, DELETE, etc.)\n- `spec_id` (optional): ID of the loaded spec (default: \"default\")\n\n**Example:**\n```json\n{\n  \"path\": \"/pet/{petId}\",\n  \"method\": \"GET\",\n  \"spec_id\": \"petstore\"\n}\n```\n\n### 4. `execute-api-call`\nExecute an HTTP API call with specified parameters.\n\n**Parameters:**\n- `url` (required): Full URL for the API call\n- `method` (optional): HTTP method (default: \"GET\")\n- `headers` (optional): HTTP headers as key-value pairs\n- `params` (optional): Query parameters as key-value pairs\n- `body` (optional): Request body (automatically JSON-encoded if object/array)\n- `timeout` (optional): Request timeout in seconds (default: 30)\n\n**Example:**\n```json\n{\n  \"url\": \"https://petstore3.swagger.io/api/v3/pet/1\",\n  \"method\": \"GET\",\n  \"headers\": {\n    \"Authorization\": \"Bearer your-token\",\n    \"Accept\": \"application/json\"\n  }\n}\n```\n\n## Usage Workflow\n\n1. **Load a Specification**: Use `load-openapi-spec` to load your API spec and see a summary of all schemas and endpoints\n2. **Explore Schemas**: Use `get-schema-details` to understand data models and their properties\n3. **Explore Endpoints**: Use `get-endpoint-details` to get full information about specific endpoints\n4. **Execute Calls**: Use `execute-api-call` to make actual HTTP requests to the API\n\n## Command Line Options\n\n### Global Options\n- `--log-level` - Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)\n- `--help` - Show help message\n\n### Server Mode Options\n- `--port` - Port to listen on (default: 3000)\n- `--json-response` - Enable JSON responses instead of SSE streams\n\n## Examples\n\n### HTTP Server Mode Testing\n```bash\n# 1. Start the server\nuv run --with \"anyio>=4.5,click>=8.1.0,httpx>=0.27,mcp,PyYAML>=6.0,starlette,uvicorn\" main.py server --port 3000\n\n# 2. Load a spec (using curl)\ncurl -X POST http://localhost:3000/mcp \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"method\": \"tools/call\",\n    \"params\": {\n      \"name\": \"load-openapi-spec\",\n      \"arguments\": {\n        \"file_path_or_url\": \"https://petstore3.swagger.io/api/v3/openapi.json\"\n      }\n    }\n  }'\n\n# 3. Get schema details\ncurl -X POST http://localhost:3000/mcp \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"method\": \"tools/call\",\n    \"params\": {\n      \"name\": \"get-schema-details\",\n      \"arguments\": {\n        \"schema_name\": \"Pet\"\n      }\n    }\n  }'\n\n# 4. Execute API call\ncurl -X POST http://localhost:3000/mcp \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"method\": \"tools/call\",\n    \"params\": {\n      \"name\": \"execute-api-call\",\n      \"arguments\": {\n        \"url\": \"https://petstore3.swagger.io/api/v3/pet/1\",\n        \"method\": \"GET\"\n      }\n    }\n  }'\n```\n\n### MCP Integration Example\nOnce configured in your MCP client, you can use natural language:\n\n```\n# Load Shippo API\n\"Load the Shippo API spec from https://docs.goshippo.com/spec/shippoapi/public-api.yaml\"\n\n# Explore schemas\n\"Show me the Address schema details\"\n\n# Make API calls  \n\"Validate this address: 215 Clayton St, San Francisco, CA 94117\"\n```\n\n## Real-World Example: Shippo API\n\nHere's a complete example using the Shippo shipping API:\n\n### 1. Load the API Specification\n```json\n{\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"load-openapi-spec\",\n    \"arguments\": {\n      \"file_path_or_url\": \"https://docs.goshippo.com/spec/shippoapi/public-api.yaml\",\n      \"spec_id\": \"shippo\"\n    }\n  }\n}\n```\n\n### 2. Explore Address Schema\n```json\n{\n  \"method\": \"tools/call\", \n  \"params\": {\n    \"name\": \"get-schema-details\",\n    \"arguments\": {\n      \"schema_name\": \"Address\",\n      \"spec_id\": \"shippo\"\n    }\n  }\n}\n```\n\n### 3. Get Address Validation Endpoint Details\n```json\n{\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"get-endpoint-details\", \n    \"arguments\": {\n      \"path\": \"/addresses/{AddressId}/validate\",\n      \"method\": \"GET\",\n      \"spec_id\": \"shippo\"\n    }\n  }\n}\n```\n\n### 4. Validate an Address\n```json\n{\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"execute-api-call\",\n    \"arguments\": {\n      \"url\": \"https://api.goshippo.com/addresses\",\n      \"method\": \"POST\",\n      \"headers\": {\n        \"Authorization\": \"ShippoToken shippo_test_5f7270ee3a59ac0bb0e5e993484fd472965d98c7\",\n        \"Content-Type\": \"application/json\"\n      },\n      \"body\": {\n        \"name\": \"Shawn Ippotle\",\n        \"street1\": \"215 Clayton St\",\n        \"city\": \"San Francisco\", \n        \"state\": \"CA\",\n        \"zip\": \"94117\",\n        \"country\": \"US\",\n        \"validate\": true\n      }\n    }\n  }\n}\n```\n\n## Benefits\n\n### Server Mode Benefits\n- \u2705 **Easy Debugging**: HTTP interface allows testing with curl and web tools\n- \u2705 **Flexible Integration**: Works with any HTTP client\n- \u2705 **Visual Inspection**: Easy to inspect requests and responses\n- \u2705 **Development Friendly**: Great for development and testing\n\n### Stdio Mode Benefits  \n- \u2705 **Direct Integration**: Native MCP client communication\n- \u2705 **Efficient Protocol**: Binary MCP protocol for optimal performance\n- \u2705 **Production Ready**: Designed for production AI assistant integration\n- \u2705 **Standard Compliant**: Full MCP specification compliance\n\n### Shared Benefits\n- \u2705 **Token Efficient**: Only load what you need, when you need it\n- \u2705 **Persistent State**: Loaded specs stay in memory across requests\n- \u2705 **Complete Coverage**: Full schema details, endpoint info, and API execution\n- \u2705 **Real Testing**: Actually execute API calls, not just explore documentation\n- \u2705 **Multiple APIs**: Handle multiple API specifications simultaneously\n- \u2705 **Format Support**: OpenAPI 3.x and Swagger 2.x (JSON/YAML)\n- \u2705 **Zero Installation**: Dependencies managed automatically by `uv`\n- \u2705 **Isolated Environment**: Each run gets fresh dependencies\n\n## Supported Formats\n\n- OpenAPI 3.x (JSON and YAML)\n- Swagger 2.x (JSON and YAML)\n- Auto-detection based on file extension and content\n\n## Requirements\n\n- [`uv`](https://docs.astral.sh/uv/) - Fast Python package installer and resolver\n- Python 3.8+ (managed automatically by `uv`)\n\n---\n\n**Choose Your Transport:**\n- Use **Server mode** for development, debugging, and HTTP-based integrations\n- Use **Stdio mode** for production MCP client integration and AI assistants\n\n**Zero Setup Required:** Just configure the MCP client with the `uv run` command and start exploring APIs!\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A Model Context Protocol server for efficient OpenAPI/Swagger specification exploration and API testing",
    "version": "0.1.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/your-username/api-explorer-mcp/issues",
        "Documentation": "https://github.com/your-username/api-explorer-mcp#readme",
        "Homepage": "https://github.com/your-username/api-explorer-mcp",
        "Repository": "https://github.com/your-username/api-explorer-mcp"
    },
    "split_keywords": [
        "api",
        " automation",
        " exploration",
        " llm",
        " mcp",
        " openapi",
        " swagger",
        " testing",
        " web"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "468b150febd1f1db2162ba31ae05ea285d41f11da277297098e20189e08697c7",
                "md5": "01f354e517408e17c35ff9e2355b7cd7",
                "sha256": "707532ab70219faded3caf45d0da65667eb646dfbf2b2b5252f4fd2cb432fe85"
            },
            "downloads": -1,
            "filename": "api_explorer_mcp-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "01f354e517408e17c35ff9e2355b7cd7",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 10900,
            "upload_time": "2025-07-16T20:13:14",
            "upload_time_iso_8601": "2025-07-16T20:13:14.159743Z",
            "url": "https://files.pythonhosted.org/packages/46/8b/150febd1f1db2162ba31ae05ea285d41f11da277297098e20189e08697c7/api_explorer_mcp-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "133a58d0a7eafa6e289d5a21439d1aae79ea6f29f548316be5163a3a16c9529f",
                "md5": "768bbe8c9b6a1f5d8569cf18667520c0",
                "sha256": "f6ceb4108b25562b0bb9be46280b1c5a1067153442c876296f0c40c358b264ba"
            },
            "downloads": -1,
            "filename": "api_explorer_mcp-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "768bbe8c9b6a1f5d8569cf18667520c0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 48726,
            "upload_time": "2025-07-16T20:13:15",
            "upload_time_iso_8601": "2025-07-16T20:13:15.352428Z",
            "url": "https://files.pythonhosted.org/packages/13/3a/58d0a7eafa6e289d5a21439d1aae79ea6f29f548316be5163a3a16c9529f/api_explorer_mcp-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-16 20:13:15",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "your-username",
    "github_project": "api-explorer-mcp",
    "github_not_found": true,
    "lcname": "api-explorer-mcp"
}
        
Elapsed time: 0.76947s