Command Palette

Search for a command to run...

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

Server Suite

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

This suite provides five production-ready MCP servers for restaurant orders, web search, browser automation, and filesystem operations, supporting both stdio an

GitHubEmbed

Описание

This suite provides five production-ready MCP servers for restaurant orders, web search, browser automation, and filesystem operations, supporting both stdio and HTTP/SSE transports.

README

Five production-ready Model Context Protocol (MCP) servers built with the official Python SDK. Supports both stdio and HTTP/SSE transports.

This suite enables any MCP-compatible client (Claude Desktop, Cursor, OpenCode) to interact with restaurant data, web search, browser automation, and filesystem operations.


What is MCP?

MCP is an open standard that lets AI applications connect to external tools and data sources through a uniform interface. Think of it as USB-C for AI tools — write once, integrate everywhere.


Servers

1. restaurant_server (stdio)

Wraps restaurant ordering tools for MCP clients.

Tools: get_menu, check_dish_availability, check_quantity, add_item_to_cart, view_cart, get_suggestions, finalize_order

2. searxng_server (stdio)

Wraps a local SearXNG meta-search engine.

Tools: web_search, image_search

  • Supports categories, language, safesearch, time range, and result count
  • Uses httpx.AsyncClient for non-blocking requests

3. pinchtab_server (stdio)

Wraps a local PinchTab headless browser.

Tools: navigate, snapshot, click, fill, extract_text

  • Enables LLM-driven web browsing and form interaction
  • Communicates via PinchTab's REST API

4. filesystem_server (stdio)

Sandboxed filesystem operations with path traversal protection.

Tools: read_file, write_file, list_directory, search_files, file_stat, move_file, copy_file, delete_file

  • _resolve() enforces workspace sandboxing via Path.relative_to()
  • Binary files returned as base64

5. filesystem_server_sse (HTTP/SSE)

The same filesystem server exposed over Server-Sent Events on HTTP.

  • Built with Starlette + uvicorn + anyio memory streams
  • Per-session JSON-RPC message routing
  • Endpoints: / (info), /sse (event stream), /messages (POST)

Quick Start

1. Install

pip install -r requirements.txt

2. Configure MCP Client

Copy mcp.json.example to your client's config directory and update URLs:

cp mcp.json.example ~/.config/claude/mcp.json   # Claude Desktop
cp mcp.json.example ~/.config/opencode/mcp.json # OpenCode

3. Run Individual Servers

# stdio servers (spawned by MCP client)
python -m mcp_servers.restaurant_server
python -m mcp_servers.searxng_server
python -m mcp_servers.pinchtab_server
python -m mcp_servers.filesystem_server /path/to/workspace

# SSE server (runs as HTTP daemon)
python -m mcp_servers.filesystem_server_sse /path/to/workspace
# Then connect to http://localhost:3000/sse

SSE Transport Deep Dive

The SSE server is the most technically interesting component:

# Per-session memory streams
rx_send, rx_recv = anyio.create_memory_object_stream(100)
tx_send, tx_recv = anyio.create_memory_object_stream(100)

# MCP server runs in background asyncio task
await server.run(rx_recv, tx_send, server.create_initialization_options())

# SSE handler serializes messages as JSON events
yield f"event: message\ndata: {message.model_dump_json()}\n\n"

# Client POSTs to /messages, injected into receive stream
await SESSIONS[session_id]["rx_send"].send(JSONRPCMessage.model_validate(data))

Key design decisions:

  • Memory streams decouple HTTP I/O from MCP protocol logic
  • Session cleanup on disconnect prevents resource leaks
  • JSON-RPC message validation ensures protocol compliance

Environment Variables

Variable Default Description
SEARXNG_URL http://localhost:8080 SearXNG base URL
PINCHTAB_URL http://localhost:9867 PinchTab API URL
RESEARCH_WORKSPACE ~/workspace/research Research report output directory
MCP_HOST 0.0.0.0 SSE server bind host
MCP_PORT 3000 SSE server bind port

Architecture

MCP Client (Claude Desktop / Cursor / OpenCode)
        |
        v
+-- stdio transport --+     +-- SSE transport --+
|  python -m server  |     |  http://host:3000 |
+--------------------+     +-------------------+
        |                           |
        v                           v
  Restaurant Data            Filesystem Ops
  SearXNG Search             (remote access)
  PinchTab Browser

Security Notes

  • Filesystem sandboxing: _resolve() prevents path traversal above workspace root
  • stdio transport: No open network ports — most secure option
  • SSE transport: Bind to 127.0.0.1 or use reverse proxy with TLS for remote access
  • PinchTab IDPI: Restricts browsing to allowed origins by default

Testing

Each server can be tested manually:

# Test SearXNG MCP server
python -m mcp_servers.searxng_server
# Then send JSON-RPC messages via stdin

# Test filesystem SSE server
curl http://localhost:3000/
curl http://localhost:3000/sse

Tech Stack

Component Technology
MCP Framework mcp Python SDK
HTTP Client httpx (async)
SSE Server starlette + uvicorn + anyio
Data Format JSON / JSON-RPC

License

MIT

from github.com/Shubhikatiya/mcp-server-suite

Установка Server Suite

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

▸ github.com/Shubhikatiya/mcp-server-suite

FAQ

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

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

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

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

Server Suite — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

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

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

Похожие MCP

Compare Server Suite with

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

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

Автор?

Embed-бейдж для README

Похожее

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