Skip to main content
Glama

Rexi MCP Server

by Rexi-sh
README.md3.5 kB
# 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 from `docs/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 path - `query`: Query parameters as key-value pairs - `body`: Request body (sent as JSON) - `extra_headers`: Additional HTTP headers - `timeout_seconds`: Request timeout (default: 30s) ### Resources - **`rexi://openapi`** – Raw OpenAPI YAML specification - **`rexi://routes`** – JSON summary of all methods, paths, summaries, and tags - **`rexi://schemas`** – JSON array of available schema filenames - **`rexi-schemas://{name}`** – Contents of a specific schema file from `schema/` directory ## Requirements - **Python 3.10+** - **Dependencies**: Install via `pip install -r requirements.txt` - `mcp[cli]` – MCP SDK with CLI tools - `httpx` – Async HTTP client - `PyYAML` – YAML parser for OpenAPI spec - `python-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`): ```bash REXI_API_KEY=your_api_key_here ``` Environment variables are loaded automatically when the server starts. ## Running with the MCP CLI (Inspector) From the project root: ```bash uv run mcp dev mcp/server.py # or with pipx / pip if you installed the CLI another way: # mcp dev mcp/server.py ``` This opens the MCP Inspector to interactively test tools and resources. ## Install into Claude Desktop (or other hosts) ```bash uv run mcp install mcp/server.py \ -v REXI_API_KEY=your_api_key_here ``` 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 from `REXI_API_KEY` env var if present. - OpenAPI file path: `docs/openapi.generated.yaml`. - Schema directory: `schema/`. ## Notes - When calling `call_rexi`, supply any required `path_params` to fill placeholders like `{contract_address}` in the `path` you pass. - `query` and `body` 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: ```bash pip install -r requirements.txt ``` ### 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 list - Resources will return appropriate error messages - The server will still start and run

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Rexi-sh/rexi-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server