Skip to main content
Glama
atnguyen143
by atnguyen143

Knowledge Server (FastMCP)

LLM-agnostic API knowledge server with MCP and REST endpoints.

Deploy

Dokploy:

  1. Add service pointing to this repo

  2. Set domain to mcp.soleenterprises.com

  3. Add environment variable: KNOWLEDGE_DIR=/knowledge/apis

  4. Mount volume: ./knowledge:/knowledge:ro

  5. Deploy

Local Development

# Install dependencies
uv sync

# Run with uv
uv run uvicorn app:app --reload --host 0.0.0.0 --port 8080

# Or with Docker
docker compose up --build

# Run tests
./test.sh
# Or test production:
./test.sh https://mcp.soleenterprises.com

Client Configs

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "knowledge": {
      "url": "https://mcp.soleenterprises.com/mcp"
    }
  }
}

Claude Code (~/.claude/mcp_servers.json):

{
  "knowledge": {
    "url": "https://mcp.soleenterprises.com/mcp"
  }
}

Endpoints

  • /mcp - MCP endpoint (for Claude Desktop/Code)

  • /api/docs - List all APIs

  • /api/docs/{api}/{entity} - Get specific documentation

  • /search?q=query - Search across docs

  • /proxy - POST to execute HTTP requests

  • /ui - Web interface for iOS/browser

  • /health - Health check

  • /docs - FastAPI auto-generated docs (Swagger UI)

Knowledge Structure

knowledge/
└── apis/
    ├── stockx_api/
    │   ├── catalog.md
    │   ├── listings.md
    │   └── orders.md
    ├── se_api_v2/
    │   └── ...
    └── alias_api/
        └── ...

MCP Tools

When connected via MCP (Claude Desktop/Code), these tools are available:

  • get_docs(api, entity) - Get specific API documentation

  • list_apis() - List all available APIs and entities

  • search_docs(query) - Search across all documentation

  • proxy_request(method, url, body?, headers?) - Execute HTTP requests (whitelisted hosts only)

Usage by Platform

Platform

Method

Claude Desktop

Native MCP via /mcp

Claude Code

Native MCP via /mcp

Claude iOS/Browser

Open /ui, copy docs, paste to Claude

GPT-4 Custom GPT

Import /openapi.json as actions

Gemini

System prompt with REST endpoint descriptions

Any LLM

Describe REST API in prompt, user pastes results

Example Usage

With Claude Code (MCP connected):

User: Show me the StockX catalog API docs
Claude: [Uses get_docs("stockx_api", "catalog") tool automatically]

With Claude iOS (REST):

1. Open mcp.soleenterprises.com/ui
2. Click /api/docs/stockx_api/catalog
3. Copy the content
4. Paste into Claude iOS chat

Related MCP Connectors