World Monitor
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 102 tools.
제작자가 쓴 설명(영어 원문)
FastAPI-native Model Context Protocol framework and stdio runner.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
FASTMCP_LOG_LEVEL필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"fast": {
"command": "uvx",
"args": [
"mcp-fastapi"
],
"env": {
"FASTMCP_LOG_LEVEL": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add fast --env FASTMCP_LOG_LEVEL=your-value -- uvx mcp-fastapi실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"fast": {
"command": "uvx",
"args": [
"mcp-fastapi"
],
"env": {
"FASTMCP_LOG_LEVEL": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"fast": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-fastapi"
],
"env": {
"FASTMCP_LOG_LEVEL": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
FASTMCP_LOG_LEVEL env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.
내 컴퓨터에서 실행하는 앱
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 10일 점검
레지스트리 이름이 GitHub 계정 Manas-maker 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
코드 마지막 변경: 37일 전
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 2개 중 2개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 37일 전 변경됐고, 최신 버전(0.1.0)은 38일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Python (uv)도 있어야 해요.
같은 카테고리에는: World Monitor, Claude Flow, Tldraw
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 102 tools.
AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
FastAPI-native Model Context Protocol (MCP) framework with automatic route reflection, ASGI scope bridging, dynamic progressive tool discovery, resilient error recovery, and interactive in-chat MCP Apps (SEP-1865).
FastAPI instance in-process over standard ASGI—zero external proxying, zero hanging subprocesses.fast-mcp stdio main:app or python -m fast_mcp stdio main:app to connect desktop AI clients (Claude Desktop, Cursor) over standard I/O pipes with zero network setup.tags=["mcp"]) automatically convert FastAPI endpoints, Pydantic models, docstrings, path/query/body parameters into MCP tools.Authorization: Bearer , cookies, API keys) captured during the MCP handshake are bridged into an in-memory ASGI Request, natively resolving FastAPI's Depends() and Security() providers without code changes.dynamic_discovery=True), the search_tools(query: str) meta-tool, and zero-dependency KeywordTagRouter.HTTPException and Pydantic validation errors into informative CallToolResult(isError=True) responses so LLMs can self-correct without protocol failures. Output defaults to compact, token-conscious minified JSON with custom @mcp.serializer formatting hooks./mcp/docs plus native support for in-chat interactive iframes in desktop AI clients (Claude Desktop, Cursor, VS Code) via _meta.ui.resourceUri, the built-in inspect() tool, and the @mcp.app() decorator.pip install mcp-fastapi
Or using uv:
uv add mcp-fastapi
from fastapi import FastAPI, Depends, Header, HTTPException
from pydantic import BaseModel, Field from fast_mcp import FastMCP
app = FastAPI(title="Store API") mcp = FastMCP(app=app, name="store-mcp")
class Product(BaseModel): id: int name: str price: float
@app.get("/products/{product_id}", tags=["mcp"]) async def get_product(product_id: int) -> Product: """Fetch product details by ID.""" if product_id == 404: raise HTTPException(status_code=404, detail="Product not found") return Product(id=product_id, name="Smart Widget", price=29.99)
def verify_token(authorization: str = Header(...)) -> str: if not authorization.startswith("Bearer "): raise HTTPException(status_code=401, detail="Invalid token") return authorization.split(" ")[1]
@mcp.tool(name="order_status", description="Check customer order status") def check_order(order_id: str, user: str = Depends(verify_token)) -> dict: return {"order_id": order_id, "customer": user, "status": "Shipped"}
mcp.mount()
Run with standard ASGI servers:
uvicorn main:app --reload
Routes tagged with tags=["mcp"] (configurable via route_tag) are automatically inspected upon mcp.mount():
@app.post("/items/create", tags=["mcp"])
async def create_item(item: ItemModel) -> ItemModel: """Create a new catalog item.
Args: item: The catalog item specification. """ return item
@mcp.tool)Register AI-specialized tools that don't need dedicated REST endpoints:
# Bare decorator
@mcp.tool def calculate_quote(quantity: int, discount: float = 0.0) -> float: return quantity * 100.0 * (1.0 - discount)
@mcp.tool(name="inventory_lookup", description="Lookup stock levels", tags=["inventory"]) async def check_inventory(sku: str) -> dict: return {"sku": sku, "in_stock": True, "count": 42}
Incoming headers (Authorization: Bearer ..., cookies, API keys) from the MCP client's SSE handshake or message posts are captured into an active request context:
from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials
security = HTTPBearer()
@mcp.tool async def user_profile(creds: HTTPAuthorizationCredentials = Depends(security)) -> dict: token = creds.credentials return {"user": "alice", "token_verified": True}
If authorization fails or headers are omitted, fast-mcp unwraps the resulting HTTPException(401) into CallToolResult(is_error=True) so the agent receives an actionable authentication error rather than crashing the transport.
Prevent LLM context window bloat on large FastAPI applications with hundreds of endpoints:
mcp = FastMCP(
app=app, dynamic_discovery=True, # Or set dynamic_discovery_threshold=20 baseline_tools=["search_tools", "get_system_status"], baseline_tag="baseline", )
tools/list exposes only baseline tools plus the search_tools(query: str) meta-tool.search_tools(query="invoice") executes the pluggable ToolRouter (defaults to zero-dependency KeywordTagRouter with tokenized name/tag/description ranking) and returns matching tool definitions with full JSON schemas.HTTPException (400, 404, 422) and Pydantic validation errors return clean, concise messages with isError=True.{"id":1,"name":"widget"}) saving prompt tokens.class Report(BaseModel):
title: str metrics: dict[str, int]
@mcp.serializer(Report) def format_report(report: Report) -> str: md = f"### {report.title}\n" for k, v in report.metrics.items(): md += f"- {k}: {v}\n" return md
Open http://localhost:8000/mcp/docs in any browser to inspect registered tools, view schemas, and execute test invocations interactively without external Node.js CLIs. (Disable with FastMCP(app, enable_ui=False)).
Render rich interactive HTML/JS widgets directly in modern desktop AI clients (Claude Desktop, Cursor, VS Code):
# Built-in server inspector tool
inspect() receives an interactive iframe pointed to ui://fast-mcp/inspector@mcp.app( name="dashboard", resource_uri="ui://store/dashboard", html="""
Store Live Metrics Active Users: 1,420
""" ) def live_dashboard() -> str: return ' '
Connect desktop AI clients (Claude Desktop, Cursor) directly to your FastAPI backend or FastMCP instance over standard input/output (stdio) pipes with zero network setup, port conflicts, or external proxying.
# Run stdio runner pointing to FastAPI app or FastMCP instance
fast-mcp stdio main:app
python -m fast_mcp stdio main:app
fast-mcp stdio main
fast-mcp main:app
claude_desktop_config.json)Configure Claude Desktop to launch your FastMCP server directly:
{
"mcpServers": { "my-fast-mcp-app": { "command": "fast-mcp", "args": ["stdio", "main:app"] } } }
Or using uv to manage the virtual environment automatically:
{
"mcpServers": { "my-fast-mcp-app": { "command": "uv", "args": ["run", "fast-mcp", "stdio", "main:app"] } } }
You can also run stdio mode programmatically from Python:
import asyncio
from fast_mcp import FastMCP, run_stdio
mcp = FastMCP(name="my-stdio-server")
@mcp.tool() def add(a: int, b: int) -> int: return a + b
if name == "main": asyncio.run(run_stdio(mcp))
fast-mcp exercises external behavior across the ASGI Protocol Seam using httpx.AsyncClient with ASGITransport:
# Run full test suite
pytest
pytest --cov=fast_mcp --cov-report=term-missing
MIT