Skip to main content
Glama
bracesproul

LSD MCP Template

by bracesproul

LSD MCP Template

Template for exposing one or more FastMCP servers from a LangGraph Server custom HTTP route. It is set up for LangSmith Deployments and serves MCP over Streamable HTTP.

The default MCP endpoint is:

/mcp

This template intentionally does not include custom auth. Add auth separately if your deployment needs it.

What's Included

  • Minimal LangGraph health graph so LangGraph Server boots normally.

  • Custom Starlette app mounted through langgraph.json.

  • Lazy MCP app construction so importing the graph server does not build your MCP server.

  • Configurable MCP server registry in src/lsd_mcp_template/mcp_config.py.

  • One example tool: math_add(x: int, y: int).

Related MCP server: MCP Streamable HTTP Demo

Local Development

uv sync --group dev
make dev

The local MCP endpoint will be available at:

http://127.0.0.1:1424/mcp

Run tests with:

make test

Defining Your MCP Server

Edit src/lsd_mcp_template/server.py and replace the example tool with your own tools:

from fastmcp import FastMCP


def build_server() -> FastMCP:
    mcp = FastMCP("My MCP Server")

    @mcp.tool(name="my_tool")
    def my_tool(value: str) -> str:
        return value

    return mcp

To expose multiple MCP servers, add more specs in src/lsd_mcp_template/mcp_config.py:

MCP_SERVER_SPECS = (
    MCPServerSpec(
        name="default",
        path="/mcp",
        factory="lsd_mcp_template.server:build_server",
    ),
    MCPServerSpec(
        name="other",
        path="/other-mcp",
        factory="lsd_mcp_template.other_server:build_server",
    ),
)

Each factory must return a fastmcp.FastMCP instance.

Deploy

Use this directory as the repository root for the LangSmith Deployment. The deployment entrypoints are already declared in langgraph.json:

  • Graph: ./src/lsd_mcp_template/graph.py:graph

  • Custom HTTP app: ./src/lsd_mcp_template/webapp.py:app

Set any environment variables your custom tools need in the deployment configuration. The example math_add tool does not require environment variables.

Optional:

export MCP_STATELESS_HTTP=true

When set, the custom route creates the FastMCP Streamable HTTP app in stateless mode.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    A FastAPI-integrated MCP server that provides mathematical operations like addition and multiplication using Pandas for data manipulation. It serves as a comprehensive example for implementing different tool registration patterns and real-time communication via Server-Sent Events.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Demonstrates an MCP server with calculate and text_stats tools over Streamable HTTP, integrating with LangChain/LangGraph and n8n agents.
    -