Model Context Protocol server

Give AI agents the ability to submit human review tasks via the Model Context Protocol. Works with Claude Desktop, Cursor, and any MCP-compatible client.

MCP clientClaude / Cursor / …
submit_reviewMCP tool call
Certified reviewerhuman review
get_review_resultMCP tool call
Agent continuesnext step

Install

Install the integration and add it to your Mcp workspace.

terminal
# Run the MCP server via npx
npx verifiedworkflows-mcp-server
config.json
{
  "mcpServers": {
    "verifiedworkflows": {
      "command": "npx",
      "args": ["verifiedworkflows-mcp-server"],
      "env": { "VW_API_KEY": "vw_..." }
    }
  }
}

Submit a task

Add the server to your client config and the agent gains three new tools. It can submit a review, poll its status, and fetch the final result — all structured so the model can reason over the verdict.

review.py
from verifiedworkflows import VerifiedWorkflows

client = VerifiedWorkflows(api_key="vw_live_xxx")

task = client.tasks.create(
    content="Body of the generated support reply",
    content_type="text",
    callback_url="https://your-app.example.com/webhook/vw",
)

print(task["id"])  # tsk_live_f8a29
review.js
import { VerifiedWorkflows } from "verifiedworkflows";

const client = new VerifiedWorkflows({ apiKey: "vw_live_xxx" });

const task = await client.tasks.create({
  content: "Body of the generated support reply",
  contentType: "text",
  callbackUrl: "https://your-app.example.com/webhook/vw",
});

console.log(task.id);  // tsk_live_f8a29
submit_task.sh
# Submit any AI output for human review
curl -X POST https://api.verifiedworkflows.com/v1/tasks \
  -H "Authorization: Bearer vw_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Body of the generated support reply",
    "content_type": "text",
    "callback_url": "https://your-app.example.com/webhook/vw"
  }'

Operations

Authentication

Pass your Verified Workflows API key in the VW_API_KEY env var. The server reads it on startup and never logs it.

Transport

The server speaks MCP over stdio (the default for Claude Desktop and Cursor) and over Streamable HTTP for hosted deployments. See the API reference for transport-specific config.

Which clients work with the server?
Any client that implements MCP — Claude Desktop, Cursor, Continue, Cline, Zed, and the official Python/TypeScript SDKs.
Do I need to host the server?
No. Use npx verifiedworkflows-mcp-server locally, or run the Docker image in your own infrastructure.
Are tool calls logged?
The server only logs structured request/response metadata, never the content itself. Configure a log level in your client to silence it.