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).

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.

A
license - permissive license
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bracesproul/lsd-mcp-template'

If you have feedback or need assistance with the MCP directory API, please join our Discord server