MCP.so
Sign In
Servers

FastMCP Integration Application Demo

@ZhouhaoJiang

A modular application API interface based on FastMCP, integrating a demo of the MCP server, FastAPI interface and LLM Agent processing capabilities | 一个基于FastMCP的模块化应用,集成了MCP服务器、FastAPI接口和LLM Agent 处理能力的 demo

Overview

What is FastMCP Integration Application Demo?

This project demonstrates a modular application built with FastMCP, integrating an MCP server, a FastAPI interface, and LLM Agent capabilities. It is a demo for developers exploring FastMCP-based architectures.

How to use FastMCP Integration Application Demo?

Install dependencies (uv/pip recommended) and set the OPENAI_API_KEY environment variable. First start the MCP server with python main.py --mode mcp, then start the API server with python main.py --mode api. The API server connects to the MCP server via SSE and provides HTTP endpoints.

Key features of FastMCP Integration Application Demo

  • Modular design with clear separation of concerns
  • Dual run modes: API server and standalone MCP server
  • LLM integration with OpenAI (extensible)
  • Agent mode for autonomous tool selection by the LLM
  • Complete RESTful API for tools, resources, and agent
  • Persistent SSE connection between servers

Use cases of FastMCP Integration Application Demo

  • Building a FastMCP-based application with an HTTP API layer
  • Enabling an LLM agent to autonomously call MCP tools
  • Testing and debugging MCP server interactions via REST endpoints
  • Extending the platform with custom tools and LLM providers

FAQ from FastMCP Integration Application Demo

What are the two run modes and how do they differ?

api mode runs the FastAPI server and requires a separately running MCP server. mcp mode runs the MCP server directly for testing or connection by other clients.

Which LLM providers are supported?

OpenAI is supported out of the box. The BaseLLM class can be extended to add other providers (e.g., Anthropic).

How can I add new tools?

Extend BaseMCPServer and define new tools using the @self.mcp.tool() decorator in the _register_tools method. Then import and instantiate the server in app/mcp_server/run.py.

What transport does the MCP server use by default?

The default transport is SSE. You can switch to Standard I/O (stdio) with --mcp-transport stdio.

Is there a way to monitor server health?

Yes, the API server provides /health for its own status and /api/tools/health for the connection status between the API server and the MCP server.

Tags

More from AI & Agents