View this demo site: https://mcp-example-express.netlify.app/
This site shows a very a basic example of developing and running serverless MCP using Netlify Functions. It includes links to a deployed serverless function and an example of accessing the function using a customized URL.
Importantly, because of how Express handles mapping routes, ensure you set the netlify.toml
redirects to the correct path. In this example we have the following to ensure /mcp catches all of the requests to this server:
[[redirects]]
force = true
from = "/mcp"
status = 200
to = "/.netlify/functions/express-mcp-server"
Deploy your own version of this example site, by clicking the Deploy to Netlify Button below. This will automatically:
- Clone a copy of this example from the examples repo to your own GitHub account
- Create a new project in your Netlify account, linked to your new repo
- Create an automated deployment pipeline to watch for changes on your repo
- Build and deploy your new site
- This repo can then be used to iterate on locally using
netlify dev
You can clone this entire examples repo to explore this and other examples, and to run them locally.
# 1. Clone the examples repository to your local development environment
git clone [email protected]:netlify/examples
# 2. Move into the project directory for this example
cd examples/mcp/express-mcp
# 3. Install the Netlify CLI to let you locally serve your site using Netlify's features
npm i -g netlify-cli
# 4. Serve your site using Netlify Dev to get local serverless functions
netlify dev
# 5. While the site is running locally, open a separate terminal tab to run the MCP inspector or client you desire
npx @modelcontextprotocol/inspector npx mcp-remote@next http://localhost:8888/mcp