OpenWork MCP Gateway is answering right now. Last checked 9 min ago. Last commit 2 Nov 2026.
Your OpenWork org's skills, plugins, workflows, and connections through one OAuth MCP URL.
We read the source, 21 h ago · rules 995398eba69f
A value the model can set ends up inside a file or shell call. That is not a flaw by itself — for a terminal server it is the job — but it is where things go wrong when it is not.
const result = await input.redis.eval(
Things with no honest explanation: a promise that contradicts the code, code that runs at install time while hiding what it does, data leaving the machine.
const actual = Buffer.from(/^Bearer\s+(\S+)$/i.exec(c.req.header("authorization") ?? "")?.[1] ?? "")
* may run `rm -rf dir`. Variables nothing on the line sets stay as they are.
What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.
"JVBERi0xLjQKMSAwIG9iago8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFI+PgplbmRvYmoKMiAwIG9iago8PC9UeXBlL1BhZ2VzL0tpZHNbMyAwIFJdL0NvdW50IDE+PgplbmRvYmoKMyAwIG9iago8PC9UeXBlL1BhZ2UvUGFyZW50IDIgMCBSL01lZGlhQm94WzAgMCAzMDAgMTQ0XS9SZXNvdXJjZXM8PC9Gb250PDwvRjEgNCAwIFI+Pj4+L0NvbnRlbnRzI…
execFile(command, args, { encoding: "utf8", timeout: 10_000 }, (error, stdout, stderr) => {
await writeFile(path.join(stagingDirectory, fileName), bytes);
eval(script: string, numberOfKeys: number, ...args: Array<string | number>): Promise<unknown>
exec(compile(code, "<openwork>", "exec"), scope)
setError(getErrorMessage(nextPayload, `Could not delete ${deleteUserDialog.email}.`));
USER root
try { names = await readdir(root); } catch { continue; }
"JVBERi0xLjQKMSAwIG9iago8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFI+PgplbmRvYmoKMiAwIG9iago8PC9UeXBlL1BhZ2VzL0tpZHNbMyAwIFJdL0NvdW50IDE+PgplbmRvYmoKMyAwIG9iago8PC9UeXBlL1BhZ2UvUGFyZW50IDIgMCBSL01lZGlhQm94WzAgMCAzMDAgMTQ0XS9SZXNvdXJjZXM8PC9Gb250PDwvRjEgNCAwIFI+Pj4+L0NvbnRlbnRzI…
Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.
That is not a flaw by itself — but it is where things go wrong when it is not the job. We re-read this code on every release. Watch it and you hear from us the day another one appears.
Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 9 min ago.
claude mcp add openwork --transport http https://api.openworklabs.com/mcp/agent
https://api.openworklabs.com/mcp/agent
[mcp_servers.openwork]
url = "https://api.openworklabs.com/mcp/agent"
{
"mcpServers": {
"openwork": {
"url": "https://api.openworklabs.com/mcp/agent"
}
}
}
{
"servers": {
"openwork": {
"type": "http",
"url": "https://api.openworklabs.com/mcp/agent"
}
}
}
This endpoint answered with an authorization challenge. The server is running, and it signs you in through your browser: there is no API key to paste.
| URL | Transport | State | Latency | Checked |
|---|---|---|---|---|
| https://api.openworklabs.com/mcp/agent | streamable-http | sign-in | 193 ms | 9 min ago |
Access Oi Contexts, Workflows, Skills, Guardrails, Connections, and reporting tools.
Rails development skills, docs, and workflows exposed through MCP stdio.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Connected tables, relations, workflows and markdown documents in one SQLite file, over MCP.
Connect AI assistants to GitHub - manage repos, issues, PRs, workflows, and git operations.
Open agentic operations mesh MCP: agents, workflows, cost, governance, and x402.
Analyze tracks and manage customer music-promotion workflows through your DropTrack account.
MCP server for Galaxy bioinformatics platform - connect, execute tools, and manage workflows
Answers built from our own checks of this server.