Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Server Playground

БесплатноНе проверен

A learning project that wraps a FastAPI app with endpoints for random facts and Japan FAQs as MCP tools, enabling LLMs to call them via LiteLLM proxy.

GitHubEmbed

Описание

A learning project that wraps a FastAPI app with endpoints for random facts and Japan FAQs as MCP tools, enabling LLMs to call them via LiteLLM proxy.

README

A learning project for building and testing custom MCP (Model Context Protocol) servers connected to a deployed LiteLLM proxy.

What This Is

This project explores how to:

  • Build a REST API and automatically expose it as an MCP server
  • Register that MCP server with a LiteLLM proxy
  • Chat with an LLM that can call your custom tools via MCP
  • Test the whole flow from a CLI

Architecture

┌─────────────┐     MCP protocol      ┌──────────────┐     HTTP      ┌──────────────┐
│  LiteLLM    │ ──────────────────── ▶│  MCP Server  │ ────────────▶ │  FastAPI     │
│  Proxy      │                       │  :8001       │               │  :8000       │
│  (deployed) │                       └──────────────┘               └──────────────┘
└─────────────┘
       ▲
       │  OpenAI-compatible API
       │
┌─────────────┐
│   CLI       │
│  (cli.py)   │
└─────────────┘

FastAPI (api/) — serves two endpoints:

  • GET /home — returns a random David Salazar fact
  • GET /faq — returns Japan FAQ Q&A pairs

MCP Server (mcp_server/) — wraps the FastAPI via its OpenAPI spec and exposes the routes as MCP tools. LiteLLM registers this server and makes the tools available to the LLM.

LiteLLM Proxy — deployed externally. Holds your Anthropic API key, registers your MCP server, and handles all LLM routing.

CLI (cli.py) — interactive chat tool. Lists available MCP tools, lets you pick one, then chats with the LLM using that tool.

Project Structure

faq/
├── api/
│   └── main.py          # FastAPI routes
├── mcp_server/
│   └── server.py        # MCP server (auto-generated from OpenAPI spec)
├── core/
│   ├── llm.py           # LLMService — async chat via LiteLLM proxy
│   ├── models.py        # Shared Pydantic models
│   └── settings.py      # Config loaded from .env
├── cli.py               # Interactive CLI chat tool
├── .env.example         # Environment variable template
└── pyproject.toml

Setup

1. Install dependencies

uv sync

2. Configure environment

cp .env.example .env

Edit .env with your values:

BASE_URL="http://localhost:8000/"
BASE_URL_DOCS="http://localhost:8000/openapi.json"
OPENAI_KEY="sk-your-litellm-master-key"
LITELLM_URL="https://your-litellm-proxy.com"   # or http://localhost:4000 locally

Running Locally

Start each service in a separate terminal:

# 1. FastAPI
uv run uvicorn api.main:app --reload --port 8000

# 2. MCP Server (requires FastAPI to be running first)
uv run python mcp_server/server.py

# 3. CLI chat tool (requires MCP server to be running)
uv run python cli.py

Deploying

Both api/ and mcp_server/ live in this repo and can be deployed together.

FastAPI

uvicorn api.main:app --host 0.0.0.0 --port 8000

MCP Server — update BASE_URL in your deployed .env to point to the deployed FastAPI URL, then:

python mcp_server/server.py

Register with LiteLLM — in your LiteLLM config.yaml, add:

mcp_servers:
  - name: faq
    url: https://your-mcp-server.com/mcp

Or

You can use the LiteLLM UI.

CLI Usage

uv run python cli.py
Available tools:
  1. faq-home_home_get — Returns a random fact about Me.
  2. faq-faq_faq_get  — Returns a list of frequently asked questions about Japan.

Pick a tool (number): 2

Using tool: faq-faq_faq_get  |  Type 'quit' to exit.

You: Do I need a visa to go to Japan?
Assistant: Based on the information available, **visa requirements for Japan depend on your nationality**:

**Citizens of about 68 countries** can enter Japan **visa-free for short stays**, typically up to **90 days**.

However, this varies by country, so I recommend checking the **Japanese Ministry of Foreign Affairs website** to confirm the specific requirements for your country of citizenship.

If your country isn't on the visa-free list, you'll need to apply for an appropriate visa before traveling to Japan.

You: quit

Adding New Tools

  1. Add a new route to api/main.py
  2. Restart the MCP server — it auto-discovers routes from the OpenAPI spec or the @mcp.tool decorator
  3. The new tool appears automatically in LiteLLM and the CLI

from github.com/deivit24/test_mcp_litellm

Установка Server Playground

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/deivit24/test_mcp_litellm

FAQ

Server Playground MCP бесплатный?

Да, Server Playground MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Server Playground?

Нет, Server Playground работает без API-ключей и переменных окружения.

Server Playground — hosted или self-hosted?

Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.

Как установить Server Playground в Claude Desktop, Claude Code или Cursor?

Открой Server Playground на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Server Playground with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development