Skip to main content
Glama
yashaswip

fairlead

by yashaswip

fairlead

FDE take-home. Python 3.11, official mcp SDK.

python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pytest

1. MCP server (stdio)

The prompt asks for stdio, so this process talks JSON-RPC on stdin/stdout. Logs are stderr only.

python -m mcp_lab.task1.server
  • get_customer_record(customer_id) — CUST- plus five digits

  • trigger_refund(customer_id, amount, reason) — amount > 0, reason >= 10 chars

Pydantic rejects junk; that becomes JSON-RPC -32602. Sample ids: CUST-10428, CUST-22019.

Related MCP server: MCP Starter

2. MCP gateway

python -m mcp_lab.task2.downstream
python -m mcp_lab.task2.proxy

Authorization: Bearer admin or Bearer viewer. tools/list always goes downstream. tools/call on admin_* needs admin; otherwise -32001 and we don't forward.

3. Streaming PII filter

python -m mcp_lab.mocks.llm --mode leak --port 8092
python -m mcp_lab.task3.server

Rewrites SSE deltas as they arrive ([REDACTED] for email / SSN / card). Doesn't wait for the full reply.

4. Rate limit + failover

python -m mcp_lab.task4.server

SQLite file data/gateway.sqlite, 50k tokens/min per API key. Primary 429 or 3s timeout → backup. Errors are {code, message, request_id} only.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    A production-grade MCP server for order management, featuring tools for looking up and refunding orders with safety measures like confirmation tokens, rate limiting, and error handling.
    -