
APIWeaver
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.
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
Tools (6)
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 all registered APIs and their endpoints. Returns: Dictionary of registered APIs with their configurations
Unregister an API and remove its tools. Args: api_name: Name of the API to unregister Returns: Success message
Test connection to a registered API. Args: api_name: Name of the API to test Returns: Connection test results
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"} )