APIWeaver

APIWeaver

4.2

APIWeaver is hosted online, so all tools can be tested directly either in theTools tabor in theOnline Client.

If you are the rightful owner of APIWeaver and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcpreview.com.

APIWeaver is a FastMCP server that dynamically creates MCP servers from web API configurations, enabling easy integration of REST APIs, GraphQL endpoints, or web services into MCP-compatible tools for AI assistants.

APIWeaver is a versatile server designed to dynamically create Model Context Protocol (MCP) servers from web API configurations. This allows seamless integration of various web services, including REST APIs and GraphQL endpoints, into MCP-compatible tools that can be utilized by AI assistants like Claude. APIWeaver supports multiple authentication methods, all HTTP methods, and offers flexible parameter handling. It automatically generates tools for each API endpoint and includes built-in testing capabilities to ensure API connections are functional before use. The server supports multiple transport types, including STDIO, SSE, and Streamable HTTP, to cater to different deployment needs. APIWeaver is ideal for developers looking to expose web APIs as tools for AI assistants, providing a robust and flexible solution for modern web deployments.

Features

  • Dynamic API Registration: Register any web API at runtime.
  • Multiple Authentication Methods: Supports Bearer tokens, API keys, Basic auth, OAuth2, and custom headers.
  • All HTTP Methods: Supports GET, POST, PUT, DELETE, PATCH, and more.
  • Flexible Parameters: Handles query params, path params, headers, and request bodies.
  • Automatic Tool Generation: Each API endpoint becomes an MCP tool.

Tools

  • 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"} )
  • get_api_schema: Get the schema/documentation for an API or specific endpoint. This tool helps understand what parameters are available for API calls and their requirements before making actual calls. Args: api_name: Name of the registered API endpoint_name: Optional specific endpoint name. If not provided, returns all endpoints ctx: Optional context for logging Returns: Schema information for the API or endpoint