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

code

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:

json

{
  "mcpServers": {
    "strand": {
      "type": "http",
      "url": "https://app.tendrl.com/strand/mcp",
      "headers": {
        "Authorization": "Bearer <STRAND_API_KEY>"
      }
    }
  }
}

VS Code

In .vscode/mcp.json:

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:

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.