MCP Server
The SignalStack MCP Server implements the Model Context Protocol, allowing AI agents to call SignalStack verification endpoints as native tools. Claude Desktop, Cursor, Copilot, and ChatGPT can all verify businesses, documents, media, and claims without custom integration code.
Quick start
# Run directly with npx (no install needed)
SIGNALSTACK_API_KEY="ssk_live_xxx" npx @signalstack/mcp-serverRequires Node.js 18 or later. The server uses stdio transport — it connects automatically through your MCP client's process management.
Claude Desktop
Add the following to your claude_desktop_config.json:
{
"mcpServers": {
"signalstack": {
"command": "npx",
"args": ["-y", "@signalstack/mcp-server"],
"env": {
"SIGNALSTACK_API_KEY": "ssk_live_xxx"
}
}
}
}Restart Claude Desktop. Claude will now have access to all SignalStack verification tools automatically.
ChatGPT
ChatGPT supports MCP tools via the custom GPTs feature. Configure your GPT with the SignalStack MCP server endpoint or use a local MCP bridge to connect:
# Using MCP bridge
npx @signalstack/mcp-server --transport sse --port 3001Point your ChatGPT Actions configuration to the SSE endpoint at http://localhost:3001.
Cursor
In Cursor, configure the MCP server in .cursor/mcp.json in your project root:
{
"mcpServers": {
"signalstack": {
"command": "npx",
"args": ["-y", "@signalstack/mcp-server"],
"env": {
"SIGNALSTACK_API_KEY": "ssk_live_xxx"
}
}
}
}Cursor's AI will now have access to SignalStack verification tools in your agent and chat workflows.
GitHub Copilot
GitHub Copilot supports MCP via its extension API. Configure the server in your VS Code settings:
{
"github.copilot.mcpServers": {
"signalstack": {
"command": "npx",
"args": ["-y", "@signalstack/mcp-server"],
"env": {
"SIGNALSTACK_API_KEY": "ssk_live_xxx"
}
}
}
}Available tools
| Tool | Description | Required params |
|---|---|---|
verify_business | Verify a business entity across 14+ data sources | name |
verify_document | Analyze document authenticity and tampering | url |
verify_media | Analyze media provenance and synthetic score | url |
verify_claim | Fact-check a claim against knowledge sources | claim |
Environment variables
| Variable | Required | Description |
|---|---|---|
SIGNALSTACK_API_KEY | Yes | Your SignalStack API key |
DEBUG | No | Set to signalstack:* for debug logs |
Tool input schemas
Each tool accepts typed parameters:
// verify_business input
{
"name": "Acme Corp",
"jurisdiction": "gb",
"tax_id": "12345678"
}
// verify_claim input
{
"claim": "The Eiffel Tower is in Berlin",
"context": "Tourist destination facts"
}
// verify_document input
{
"url": "https://example.com/invoice.pdf"
}
// verify_media input
{
"url": "https://example.com/photo.jpg"
}Security
- The API key is set via environment variable — it is never exposed in client configuration files that might be committed to version control
- The server runs locally (stdio) — no network traffic other than the API calls to SignalStack
- All verification requests are encrypted in transit (TLS 1.3)
- API keys can be restricted by IP or verification type in the dashboard