MCP.so
Sign In

FastAPI MCP Server + LangChain Client Example

@SDCalvo

About FastAPI MCP Server + LangChain Client Example

Example project demonstrating how to expose FastAPI endpoints as Model Context Protocol (MCP) tools using `fastapi-mcp`. Includes a basic LangChain agent (`langchain_client.py`) that connects to the local FastAPI server via HTTP/SSE using `langchain-mcp-adapters` to discover and

Basic information

Category

AI & Agents

License

Apache-2.0 license

Runtime

python

Transports

stdio

Publisher

SDCalvo

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "sse-mcp-and-langchain-client-example": {
      "command": "uv",
      "args": [
        "init",
        "#",
        "If",
        "pyproject.toml",
        "doesnt exist"
      ]
    }
  }
}

Tools

No tools detected

We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.

Overview

What is FastAPI MCP Server + LangChain Client Example?

This example project demonstrates how to expose FastAPI endpoints as Model Context Protocol (MCP) tools using the fastapi-mcp library. It includes a LangChain agent client (langchain_client.py) that connects to the local FastAPI server via HTTP/SSE using langchain-mcp-adapters to discover and use the exposed tools. It is intended for learning and testing, runnable locally and connectable from MCP clients like Cursor’s agent.

How to use FastAPI MCP Server + LangChain Client Example?

Clone the repository, install uv, create a virtual environment, and install dependencies (fastapi, uvicorn, fastapi-mcp, langchain-mcp-adapters, langgraph, langchain-openai, python-dotenv). Create a .env file with your OpenAI API key. In one terminal, run uvicorn main:app --reload --port 8000. In a second terminal, run uv run python langchain_client.py. Optionally, test with the MCP Inspector via npx @modelcontextprotocol/inspector or configure Cursor using a .cursor/mcp.json with the server URL http://127.0.0.1:8000/mcp.

Key features of FastAPI MCP Server + LangChain Client Example

  • Exposes FastAPI endpoints as MCP tools automatically via fastapi-mcp.
  • LangChain agent discovers and calls tools through SSE transport.
  • Supports Cursor editor integration via HTTP-based MCP configuration.
  • Includes a ready‑to‑run example with sample endpoints and queries.
  • Demonstrates optional MCP Inspector for interactive tool testing.

Use cases of FastAPI MCP Server + LangChain Client Example

  • Learning how to turn a FastAPI application into an MCP server.
  • Rapid prototyping of MCP tools using familiar FastAPI route definitions.
  • Integrating FastAPI‑backed tools into AI agents like LangChain or Cursor.
  • Testing and debugging MCP server features locally before deployment.

FAQ from FastAPI MCP Server + LangChain Client Example

What prerequisites are needed?

Python 3.10 or higher, the uv package manager, Node.js and npm (for the optional MCP Inspector), and an OpenAI API key (for the LangChain client). Git is required for cloning the repository.

How are MCP tool names determined?

MCP tool names are derived from the FastAPI route’s operation_id. If not set explicitly, FastAPI generates an automatic name (e.g., read_root__get). Setting explicit operation_id values on routes is recommended for clearer tool names.

What if a port is already in use?

Use netstat -ano | findstr "<PORT>" (Windows) to find the process ID, then taskkill /F /PID <PID> to terminate it. Sometimes a short wait or restarting the IDE is needed for the OS to fully release the port.

How do I add new routes after the server is mounted?

Routes defined after calling mcp.mount() are not automatically included. Call mcp.setup_server() again after defining the new routes to refresh the tool list.

Does this server support authentication?

Yes. fastapi-mcp supports FastAPI dependencies for authorization and includes OAuth 2 support. Basic token passthrough can be configured via mcp-remote with headers, or server‑side dependencies can be added using AuthConfig.

Comments

More AI & Agents MCP servers