Docs / Strand / ai/mcp-server
MCP Server
Strand exposes an MCP-compatible JSON-RPC endpoint so AI assistants can create workflows, manage functions, and monitor automation.
Endpoint
POST https://app.tendrl.com/strand/mcp
Requires an API key: Authorization: Bearer <API_KEY>. Create keys in the Strand dashboard under Access Control → API Keys.
Available tools
| Tool | Description |
|---|---|
create_workflow |
Create a new automation workflow |
list_workflows |
List all workflows |
update_workflow |
Update a workflow by ID |
list_runs |
List workflow execution history |
create_function |
Create a reusable serverless function |
list_functions |
List all functions |
update_function |
Update a function by ID |
list_connectors |
List available Strand connectors |
list_secrets |
List vault entries (names and metadata only, never actual values) |
list_roles |
List Strand roles |
create_role |
Create a new role |
get_usage |
Get current usage summary |
list_api_keys |
List API key metadata |
search_docs |
Search Strand documentation |
Client setup
Cursor
In .cursor/mcp.json:
{
"mcpServers": {
"strand": {
"type": "http",
"url": "https://app.tendrl.com/strand/mcp",
"headers": {
"Authorization": "Bearer <STRAND_API_KEY>"
}
}
}
}
VS Code
In .vscode/mcp.json:
{
"servers": {
"strand": {
"type": "http",
"url": "https://app.tendrl.com/strand/mcp",
"headers": { "Authorization": "Bearer <STRAND_API_KEY>" }
}
}
}
Claude Desktop
In claude_desktop_config.json:
{
"mcpServers": {
"strand": {
"type": "http",
"url": "https://app.tendrl.com/strand/mcp",
"headers": {
"Authorization": "Bearer <STRAND_API_KEY>"
}
}
}
}
---
Security notes
Vault secrets stay hidden. list_secrets returns names and metadata only, never the actual secret values.
API key metadata only. list_api_keys returns names, roles, and status, not the token itself.
---
Examples
Create automation
"Create a workflow that sends a Slack notification when any entity publishes a temperature above 80°F"
The AI calls create_workflow with a trigger, threshold check, and Slack connector node.
Monitor execution
"Did my alerting workflow run today?"
The AI calls list_runs filtered by workflow and time range, then summarizes the results.
Build reusable logic
"Create a function that formats sensor readings into a summary report"
The AI calls create_function with the Python code, then references it in a workflow step.
Tendrl