APIWeaver

APIWeaver

gongrzhe

Converts any REST API into MCP tools that AI assistants can use by registering API configurations at runtime. Supports multiple authentication methods and automatically generates callable tools from API endpoints.

48110 views14Local (stdio)

What it does

  • Register REST APIs dynamically at runtime
  • Generate MCP tools from API endpoints automatically
  • Authenticate with Bearer tokens, API keys, Basic auth, and OAuth2
  • Call registered API endpoints with dynamic parameters
  • Test API connections before use
  • Get API schemas and endpoint documentation

Best for

AI assistant developers integrating external APIsRapidly prototyping API integrations without custom codeCreating MCP-compatible tools from existing web services
Dynamic registration at runtimeMultiple transport types (STDIO, SSE, HTTP)No hardcoded API configurations needed

Tools (6)

register_api

Register a new API configuration and create MCP tools for its endpoints. Args: config: API configuration dictionary containing: - name: API name - base_url: Base URL for the API - description: Optional API description - auth: Optional authentication configuration - headers: Optional global headers - endpoints: List of endpoint configurations Returns: Success message with list of created tools

list_apis

List all registered APIs and their endpoints. Returns: Dictionary of registered APIs with their configurations

unregister_api

Unregister an API and remove its tools. Args: api_name: Name of the API to unregister Returns: Success message

test_api_connection

Test connection to a registered API. Args: api_name: Name of the API to test Returns: Connection test results

call_api

Call any registered API endpoint with dynamic parameters. This is a generic tool that allows calling any registered API endpoint without having to use the specific endpoint tools. Useful for ad-hoc API calls or when you want more flexibility. Args: api_name: Name of the registered API to call endpoint_name: Name of the endpoint within the API parameters: Dictionary of parameters to pass to the endpoint ctx: Optional context for logging Returns: API response data and metadata Example: # Call OpenWeatherMap API result = await call_api( api_name="OpenWeatherMap", endpoint_name="get_weather", parameters={"q": "London", "units": "metric"} ) # Call GitHub API result = await call_api( api_name="GitHub", endpoint_name="get_user", parameters={"username": "octocat"} )

Alternatives