The SendForSign MCP Server provides template management integration with the SendForSign API, offering dual transport modes and flexible authentication.
Core Features:
Template Operations: List all available templates with metadata and retrieve specific template content using template keys
Dual Transport Support: stdio transport for MCP clients and HTTP Stream transport for web APIs and custom integrations
Flexible Authentication: API keys via environment variables (SFS_API_KEY, SFS_CLIENT_KEY) or HTTP headers (X-Sendforsign-Key, X-Client-Key, Authorization: Bearer)
Client Override: Override default client key for specific operations via clientKey parameter
Deployment & Monitoring:
Docker containerization for easy deployment and scaling
Health check endpoint (/health) for monitoring server status
TypeScript-based with comprehensive development environment
Provides integration with n8n workflow automation through HTTP Stream transport, allowing n8n workflows to access SendForSign templates and manage document signing processes.
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., "@SendForSign MCP Serverlist my available document templates"
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.
A Model Context Protocol (MCP) server implementation that integrates with Sendforsign for document template management and signing workflows.
Features
Template listing and content reading
Flexible authentication (API keys via env vars or HTTP headers)
Dual transport support (stdio for MCP clients, HTTP Stream for web APIs)
Docker ready deployment
Health monitoring
Installation
Running with npx
env SFS_API_KEY=YOUR_API_KEY SFS_CLIENT_KEY=YOUR_CLIENT_KEY npx -y @sendforsign/mcpManual Installation
npm install -g @sendforsign/mcpRunning on Cursor
For the most up-to-date configuration instructions, please refer to the official Cursor documentation on configuring MCP servers: Cursor MCP Server Configuration Guide
To configure SendForSign MCP in Cursor:
Open Cursor Settings
Go to Features > MCP Servers
Click "+ Add new global MCP server"
Enter the following code:
{ "mcpServers": { "sendforsign-mcp": { "command": "npx", "args": ["-y", "@sendforsign/mcp"], "env": { "SFS_API_KEY": "YOUR-API-KEY", "SFS_CLIENT_KEY": "YOUR-CLIENT-KEY" } } } }
Running on Windsurf
Add this to your ./codeium/windsurf/model_config.json:
{
"mcpServers": {
"sendforsign-mcp": {
"command": "npx",
"args": ["-y", "@sendforsign/mcp"],
"env": {
"SFS_API_KEY": "YOUR_API_KEY",
"SFS_CLIENT_KEY": "YOUR_CLIENT_KEY"
}
}
}
}Running with HTTP Stream Mode
To run the server using HTTP Stream locally instead of the default stdio transport:
# Option 1: Using HTTP_STREAMABLE_SERVER
env HTTP_STREAMABLE_SERVER=true SFS_API_KEY=YOUR_API_KEY SFS_CLIENT_KEY=YOUR_CLIENT_KEY npx -y @sendforsign/mcp
# Option 2: Using CLOUD_SERVICE
env CLOUD_SERVICE=true SFS_API_KEY=YOUR_API_KEY SFS_CLIENT_KEY=YOUR_CLIENT_KEY npx -y @sendforsign/mcpUse the url: http://localhost:3000/mcp
Configuration
Environment Variables
Required
SFS_API_KEY: Your SendForSign API keySFS_CLIENT_KEY: Your SendForSign client key
Optional
HTTP_STREAMABLE_SERVER: Set totrueto enable HTTP Stream transportCLOUD_SERVICE: Set totrueto enable HTTP Stream transport (alternative to HTTP_STREAMABLE_SERVER)SSE_LOCAL: Set totrueto enable HTTP Stream transport (alternative to HTTP_STREAMABLE_SERVER)PORT: Server port (default: 3000)HOST: Server host (default: localhost)
Usage with Claude Desktop
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"sendforsign-mcp": {
"command": "npx",
"args": ["-y", "@sendforsign/mcp"],
"env": {
"SFS_API_KEY": "YOUR_API_KEY_HERE",
"SFS_CLIENT_KEY": "YOUR_CLIENT_KEY_HERE"
}
}
}
}Available Tools
1. List Templates (sfs_list_templates)
List all SendForSign templates for the authenticated client.
Best for:
Discovering available templates
Getting template metadata
Usage Example:
{
"name": "sfs_list_templates",
"arguments": {}
}Returns: Array of templates with their keys and metadata.
2. Read Template (sfs_read_template)
Read the content of a specific SendForSign template.
Best for:
Getting template content for editing or analysis
Template inspection
Usage Example:
{
"name": "sfs_read_template",
"arguments": {
"templateKey": "your-template-key"
}
}Returns: Template content and metadata.
HTTP Stream API
When running in HTTP Stream mode, the server provides REST endpoints:
GET /health- Health checkPOST /mcp- MCP protocol endpoint
Authentication via HTTP Headers
Send API keys in HTTP headers:
API Key (choose one):
X-Sendforsign-Key: YOUR-API-KEYX-Api-Key: YOUR-API-KEY
Client Key:
X-Client-Key: YOUR-CLIENT-KEY
Example API Call
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-H "X-Sendforsign-Key: YOUR-API-KEY" \
-H "X-Client-Key: YOUR-CLIENT-KEY" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}'Docker Deployment
Build and Run
# Build image
docker build -t sendforsign/mcp:latest .
# Run container
docker run --rm -p 3000:3000 \
-e CLOUD_SERVICE=true \
-e SFS_API_KEY=YOUR-API-KEY \
-e SFS_CLIENT_KEY=YOUR-CLIENT-KEY \
sendforsign/mcp:latestHealth Check
curl -sS http://localhost:3000/healthDevelopment
# Install dependencies
npm install
# Build
npm run build
# Run development server
npm run devLicense
MIT License - see LICENSE file for details
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.