MCP Express Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Express Serveradd 15 and 27"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Express Server
A Model Context Protocol (MCP) server implementation using TypeScript, Express.js, and Server-Sent Events (SSE) for real-time communication.
Features
MCP Protocol Support: Implements the Model Context Protocol specification
SSE Transport: Real-time communication using Server-Sent Events
TypeScript: Fully typed for better developer experience
Express.js: Robust HTTP server framework
Environment Configuration: Using dotenv for configuration management
Project Structure
src/
├── index.ts # Main entry point and Express server setup
├── server.ts # MCP protocol handling and SSE transport layer
├── tools.ts # Tool implementations and business logic
└── types.ts # TypeScript type definitionsInstallation
npm installConfiguration
Create a .env file in the root directory:
cp .env.example .envEdit .env with your configuration:
PORT=3000
HOST=0.0.0.0
SERVER_NAME=mcp-express-server
SERVER_VERSION=1.0.0Development
Run in development mode with auto-reload:
npm run devBuild
Compile TypeScript to JavaScript:
npm run buildProduction
Run the compiled server:
npm startAPI Endpoints
GET /
Server information and available endpoints
GET /health
Health check endpoint
Returns server status and active connection count
GET /sse
Server-Sent Events endpoint
Establishes a persistent connection for real-time notifications
Clients should connect here to receive server updates
POST /message
MCP message endpoint
Send JSON-RPC 2.0 formatted MCP requests
Receives MCP responses
Available Tools
The server comes with three example tools:
echo: Echoes back a message
add: Adds two numbers together
get_time: Returns the current server time
MCP Protocol Usage
Initialize Connection
curl -X POST http://localhost:3000/message \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2024-11-05",
"capabilities": {},
"clientInfo": {
"name": "test-client",
"version": "1.0.0"
}
}
}'List Available Tools
curl -X POST http://localhost:3000/message \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/list"
}'Call a Tool
curl -X POST http://localhost:3000/message \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "add",
"arguments": {
"a": 5,
"b": 3
}
}
}'Adding New Tools
Edit src/tools.ts to add new tools:
export const availableTools: Tool[] = [
// ... existing tools
{
name: 'your_tool',
description: 'Description of your tool',
inputSchema: {
type: 'object',
properties: {
param1: {
type: 'string',
description: 'Parameter description'
}
},
required: ['param1']
}
}
];
// Add implementation in executeTool function
case 'your_tool':
return {
content: [{
type: 'text',
text: `Result: ${args.param1}`
}]
};License
MIT
This server cannot be installed
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/pr0methevs/mcp-template'
If you have feedback or need assistance with the MCP directory API, please join our Discord server