Skip to main content

MCP server for routes as MCP tools

Project description

outlty-mcp

A Python MCP server exposing your FastAPI API-key routes as MCP tools for use in Claude Code (and any MCP client).

Tools

  • list_user_apis
  • get_user_api
  • create_user_api
  • make_request

Prerequisites

  • Python 3.10+
  • Your backend running and accessible (default base URL: http://localhost:8000)
  • An API key valid for the backend. The backend supports either:
    • X-API-Key: <key>
    • Authorization: ApiKey <key>

Install

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Run with uvx (recommended)

You can run this server without a local install using uv.

Local checkout:

uvx --from . outlty-mcp

From Git repository (example):

uvx --from git+https://github.com/your-org/outly-mcp-server.git outlty-mcp

You can also pin a version published to an index:

uvx outlty-mcp

Run (standalone debug)

This server communicates via stdio when launched by an MCP client, but you can validate it imports:

python server.py

Configuration (env)

  • OUTLY_MCP_API_BASE_URL (default: http://localhost:8000)
  • OUTLY_MCP_API_KEY (required)
  • OUTLY_MCP_AUTH_HEADER (default: X-API-Key; set to Authorization to send Authorization: ApiKey <key>)

Claude Code configuration (JSON)

Add this to your Claude configuration (e.g., ~/.config/anthropic/claude_desktop_config.json or the workspace .claued.json depending on your setup). See Claude docs for exact location.

{
  "mcpServers": {
    "outlty-mcp": {
      "command": "uvx",
      "args": ["outlty-mcp"],
      "env": {
        "OUTLY_MCP_API_BASE_URL": "http://localhost:8000",
        "OUTLY_MCP_API_KEY": "ak_xxx_your_secret",
        "OUTLY_MCP_AUTH_HEADER": "X-API-Key"
      }
    }
  }
}

If you prefer Authorization header:

{
  "mcpServers": {
    "outlty-mcp": {
      "command": "uvx",
      "args": ["outlty-mcp"],
      "env": {
        "OUTLY_MCP_API_BASE_URL": "http://localhost:8000",
        "OUTLY_MCP_API_KEY": "ak_xxx_your_secret",
        "OUTLY_MCP_AUTH_HEADER": "Authorization"
      }
    }
  }
}

Tool schemas

  • list_user_apis: GET /api-key/user-apis
  • get_user_api(id: string): GET /api-key/user-apis/{id}
  • create_user_api(user_query: string): POST /api-key/user-apis
  • make_request(url: string, input_data: object): POST /api-key/user-apis/make-request

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

outlty_mcp-0.1.1.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

outlty_mcp-0.1.1-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file outlty_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: outlty_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for outlty_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 d1acf1b231ba1d1b2d0a4bd26b5f835f5677be9dfb437022ee89c018753f3126
MD5 801ade492e386bd2002e1c5c48535e5e
BLAKE2b-256 e9c845f8b50067b350d0f54024a9a6ba275c1f1686e3fb268f9fea9ab1a2dd48

See more details on using hashes here.

File details

Details for the file outlty_mcp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: outlty_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 4.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for outlty_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1853987662e4588246a7486109e56c041d97baf0077085d3fe0a63b7961a39a9
MD5 45aeeb151712ed524fdf2442d3a7c21a
BLAKE2b-256 d80bb98acfb92e76f99acd1a900d63507151006484606bcddabdb3d9c2eb249b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page