Rexi MCP Server
An MCP (Model Context Protocol) server that wraps the Rexi API and exposes tools and resources for AI assistants.
Features
Tools
list_endpoints(tag: Optional[str])
– Lists all API endpoints discovered fromdocs/openapi.generated.yaml
, optionally filtered by tag.call_rexi(...)
– Generic caller for any Rexi API endpoint with full parameter support:method
: HTTP method (GET, POST, PUT, PATCH, DELETE, etc.)path
: API path (e.g.,/v1/contracts/{contract_address}
)path_params
: Dictionary to substitute{placeholders}
in the pathquery
: Query parameters as key-value pairsbody
: Request body (sent as JSON)extra_headers
: Additional HTTP headerstimeout_seconds
: Request timeout (default: 30s)
Resources
rexi://openapi
– Raw OpenAPI YAML specificationrexi://routes
– JSON summary of all methods, paths, summaries, and tagsrexi://schemas
– JSON array of available schema filenamesrexi-schemas://{name}
– Contents of a specific schema file fromschema/
directory
Requirements
Python 3.10+
Dependencies: Install via
pip install -r requirements.txt
mcp[cli]
– MCP SDK with CLI toolshttpx
– Async HTTP clientPyYAML
– YAML parser for OpenAPI specpython-dotenv
– Environment variable management
Rexi API Key (optional but recommended): Set via
REXI_API_KEY
environment variable
Environment Setup
Create a .env
file in the project root (see .env.example
):
Environment variables are loaded automatically when the server starts.
Running with the MCP CLI (Inspector)
From the project root:
This opens the MCP Inspector to interactively test tools and resources.
Install into Claude Desktop (or other hosts)
You can also pass -f .env
to load environment variables from a file.
Configuration
The server determines the base URL from the OpenAPI spec servers[0].url
. If not found, it defaults to https://api.rexi.sh
.
Auth header:
x-api-key
populated fromREXI_API_KEY
env var if present.OpenAPI file path:
docs/openapi.generated.yaml
.Schema directory:
schema/
.
Notes
When calling
call_rexi
, supply any requiredpath_params
to fill placeholders like{contract_address}
in thepath
you pass.query
andbody
are sent as query parameters and JSON body respectively.The server validates nothing beyond basic substitution; refer to the schemas under
schema/
for expected shapes.All context parameters (
ctx
) are automatically injected by FastMCP - you don't need to pass them manually.
Troubleshooting
Import Errors
If you get import errors for mcp
, ensure you've installed the dependencies:
API Key Issues
If API calls fail with authentication errors, verify your REXI_API_KEY
is set correctly in your .env
file or environment.
Missing OpenAPI/Schema Files
The server gracefully handles missing docs/openapi.generated.yaml
and schema/
directory. If these files are missing:
list_endpoints()
will return an empty listResources will return appropriate error messages
The server will still start and run
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Enables AI assistants to interact with the Rexi API through a comprehensive wrapper that provides access to all API endpoints with full parameter support. Includes OpenAPI specification resources and schema access for blockchain and contract-related operations.