Server data from the Official MCP Registry
MCP server for KeeperHub blockchain workflow automation
MCP server for KeeperHub blockchain workflow automation
Remote endpoints: sse: https://mcp.keeperhub.com/sse
Valid MCP server (2 strong, 4 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry.
4 files analyzed · No issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Available as Local & Remote
This plugin can run on your machine or connect to a hosted endpoint. during install.
From the project's GitHub README.
Model Context Protocol (MCP) server for KeeperHub that enables AI agents to create, manage, and execute blockchain automation workflows.
# Build the Docker image
docker build -t keeperhub-mcp .
# Run the server
docker run -i --rm \
-e KEEPERHUB_API_KEY=your_api_key_here \
keeperhub-mcp
# Install dependencies
pnpm install
# Build the project
pnpm build
# Run the server
KEEPERHUB_API_KEY=your_api_key_here pnpm start
# Run with tsx for hot reloading
KEEPERHUB_API_KEY=your_api_key_here pnpm dev
The server requires the following environment variables:
| Variable | Description | Required | Default |
|---|---|---|---|
KEEPERHUB_API_KEY | Your KeeperHub API key | Yes | - |
KEEPERHUB_API_URL | KeeperHub API base URL | No | https://app.keeperhub.com |
PORT | Port for HTTP/SSE mode (leave unset for stdio) | No | - |
MCP_API_KEY | API key for authenticating MCP requests (required if PORT is set) | No | - |
The server supports two transport modes:
To enable HTTP mode, set the PORT environment variable. When running in HTTP mode, you must also set MCP_API_KEY for authentication.
Add this to your MCP client configuration (e.g., Claude Code config):
{
"mcpServers": {
"keeperhub": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"KEEPERHUB_API_KEY",
"keeperhub-mcp"
]
}
}
}
Or for local development:
{
"mcpServers": {
"keeperhub": {
"command": "node",
"args": [
"/absolute/path/to/keeperhub-mcp/dist/index.js"
],
"env": {
"KEEPERHUB_API_KEY": "your_api_key_here"
}
}
}
}
For remote AI agents, run the server in HTTP mode:
# Using Node.js
PORT=3000 \
MCP_API_KEY=your_secure_mcp_key \
KEEPERHUB_API_KEY=your_keeperhub_key \
pnpm start
Or using Docker:
docker run -p 3000:3000 \
-e PORT=3000 \
-e MCP_API_KEY=your_secure_mcp_key \
-e KEEPERHUB_API_KEY=your_keeperhub_key \
keeperhub-mcp
The server will expose the following endpoints:
GET /health - Health check endpointGET /sse - Server-Sent Events endpoint for MCP protocolPOST /message - Message endpoint for client requestsAll HTTP requests must include an Authorization header with a Bearer token:
Authorization: Bearer your_secure_mcp_key
curl -H "Authorization: Bearer your_secure_mcp_key" \
http://localhost:3000/health
list_workflowsList workflows in the organization.
Parameters:
limit (optional): Maximum number of workflows to returnoffset (optional): Number of workflows to skipproject_id (optional): Filter by project ID (use list_projects to discover IDs)tag_id (optional): Filter by tag ID (use list_tags to discover IDs)Example:
{
"limit": 10,
"offset": 0,
"project_id": "proj_abc123",
"tag_id": "tag_xyz789"
}
get_workflowGet workflow details by ID.
Parameters:
workflow_id (required): The ID of the workflow to retrieveExample:
{
"workflow_id": "wf_abc123"
}
create_workflowCreate a new workflow.
Parameters:
name (required): Name of the workflowdescription (optional): Optional descriptionproject_id (optional): Project ID to assign (use list_projects to discover IDs)tag_id (optional): Tag ID to assign (use list_tags to discover IDs)nodes (optional): Workflow nodes arrayedges (optional): Workflow edges arrayExample:
{
"name": "My Workflow",
"description": "A simple workflow",
"project_id": "proj_abc123",
"tag_id": "tag_xyz789",
"nodes": [
{
"id": "1",
"type": "trigger",
"data": { "type": "manual" }
}
],
"edges": []
}
update_workflowUpdate workflow nodes/edges.
Parameters:
workflow_id (required): The ID of the workflow to updatename (optional): New name for the workflowdescription (optional): New descriptionproject_id (optional): Project ID to assign (null to unassign)tag_id (optional): Tag ID to assign (null to unassign)nodes (optional): Updated workflow nodesedges (optional): Updated workflow edgesExample:
{
"workflow_id": "wf_abc123",
"name": "Updated Workflow Name",
"project_id": "proj_abc123",
"nodes": [...]
}
delete_workflowDelete a workflow. Returns a 409 error if the workflow has execution history unless force is set to true.
Parameters:
workflow_id (required): The ID of the workflow to deleteforce (optional): Force delete even if the workflow has execution history. Permanently deletes all runs and logs.Example:
{
"workflow_id": "wf_abc123"
}
ai_generate_workflowAI-powered workflow generation from natural language.
Parameters:
prompt (required): Natural language description of the workflowexisting_workflow_id (optional): ID of an existing workflow to modifyExample:
{
"prompt": "Create a workflow that monitors Ethereum wallet balance and sends a Discord notification when it changes"
}
execute_workflowStart async execution of a workflow.
Parameters:
workflow_id (required): The ID of the workflow to executeinput (optional): Input data for the workflowExample:
{
"workflow_id": "wf_abc123",
"input": {
"walletAddress": "0x1234..."
}
}
get_execution_statusPoll execution status.
Parameters:
execution_id (required): The ID of the execution to checkExample:
{
"execution_id": "exec_xyz789"
}
get_execution_logsGet execution logs.
Parameters:
execution_id (required): The ID of the execution to get logs forExample:
{
"execution_id": "exec_xyz789"
}
list_projectsList all projects in the organization.
Parameters: none
Example:
{}
list_tagsList all tags in the organization.
Parameters: none
Example:
{}
execute_transferSend ETH or ERC-20 tokens directly without creating a workflow.
Parameters:
network (required): Blockchain network (e.g., "ethereum", "polygon", "base")recipient_address (required): Destination wallet addressamount (required): Amount in human-readable units (e.g., "0.1")token_address (optional): ERC-20 contract address; omit for native transfersExample:
{
"network": "sepolia",
"recipient_address": "0xRecipient...",
"amount": "0.01"
}
execute_contract_callCall any smart contract function directly. Auto-detects read vs write.
Parameters:
contract_address (required): Target contract addressnetwork (required): Blockchain networkfunction_name (required): Function to callfunction_args (optional): Arguments as JSON array stringabi (optional): ABI JSON string; auto-fetched if omittedexecute_check_and_executeRead a contract value, evaluate a condition, and execute a write if met.
Parameters:
contract_address (required): Contract to readnetwork (required): Blockchain networkfunction_name (required): Read function for conditioncondition (required): {operator, value} — operators: eq, neq, gt, lt, gte, lteaction (required): {contract_address, function_name, ...} write to execute if condition is metget_direct_execution_statusCheck status of a direct execution. Returns tx hash and block explorer link.
Parameters:
execution_id (required): ID returned from a direct execution callkeeperhub://workflowsReturns a list of all workflows in the organization.
URI: keeperhub://workflows
MIME Type: application/json
keeperhub://workflows/{id}Returns details for a specific workflow.
URI: keeperhub://workflows/{workflow_id}
MIME Type: application/json
To use this MCP server, you need to generate an API key from the KeeperHub application:
KEEPERHUB_API_KEY environment variablekeeperhub-mcp/
├── src/
│ ├── index.ts # MCP server entry point
│ ├── http-server.ts # HTTP/SSE transport server
│ ├── tools/
│ │ ├── index.ts # Tool exports
│ │ ├── workflows.ts # Workflow CRUD tools
│ │ ├── executions.ts # Execution tools
│ │ └── generate.ts # AI generation tool
│ ├── resources/
│ │ ├── index.ts # Resource exports
│ │ └── workflows.ts # Workflow resources
│ ├── client/
│ │ └── keeperhub.ts # KeeperHub API client
│ └── types/
│ └── index.ts # Type definitions
├── Dockerfile
├── package.json
├── tsconfig.json
├── .gitignore
└── README.md
pnpm build
pnpm type-check
docker build -t keeperhub-mcp .
All tools return errors in the following format:
{
"content": [
{
"type": "text",
"text": "Error: <error message>"
}
],
"isError": true
}
Common errors:
401 Unauthorized: Invalid or missing API key404 Not Found: Workflow or execution not found400 Bad Request: Invalid parameters500 Internal Server Error: Server errorMIT
For issues or questions:
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.