Atlas / MCP servers / dimitrihilverda / claude-session-relay

claude-session-relayBLOCK

mcp/dimitrihilverda/claude-session-relay

Let Claude Code sessions on different machines share a board, message each other and avoid colliding git pushes. Teams, private sessions, and an MCP connector for claude.ai and Cowork.

Verdict
BLOCK
Grade
D
Trust score
62 /100
Exposed tools
—
Transport
streamable-http
License
MIT
Stars
0
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

[](LICENSE) [](https://github.com/dimitrihilverda/claude-session-relay/releases) [](#2-install-the-plugin-every-developer) [](#use-from-claudeai--cowork)

Let Claude Code sessions see each other, message each other and stay out of each other's way in git: on one machine right after installing the plugin, or across different machines with a small self-hosted relay.

Real client output against a local relay; in practice Claude runs these commands for you.

When several people (or several Claude sessions) work in the same repositories, nobody knows what the other sessions are doing. Claude Code's own ListAgents/SendMessage only reach sessions on the same machine or the same account, and never stop a colliding commit. Session Relay is a plugin (plus, for teams, a tiny self-hosted relay), so that every session:

  • appears on a shared board: who is working where, on which branch and ticket, and which

files it is changing (claimed automatically from the branch and the open work);

  • can message other sessions: notes, questions and answers, delivered within seconds;
  • is stopped before a colliding git action: a git push when someone else is on that

branch, a git commit when someone else is changing the same files.

Alone? Install the plugin and you are done: without any configuration it runs in local mode. Your sessions on this machine share a board, messages and the git check through a fi

Read from source at commit c233d6ddf90cOBSERVED · 2026-10-11
02

Trust audit

BLOCKgrade D · trust 62/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfaceWARN
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (1 observation(s))
Network
declared (6 observation(s))
Shell
declared (3 observation(s))
Dependencies
pinned
Secrets in source
none-found

Findings (12)

HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
server/src/Cleaner.php:36
$oauth += (int) $this->pdo->exec(
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
server/src/Migrator.php:32
$this->pdo->exec(
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
server/src/Migrator.php:65
$this->pdo->exec((string) file_get_contents($file));
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
server/src/OAuthServer.php:110
return self::error(400, 'invalid_redirect_uri', 'Only ' . OAuthStore::CLAUDE_CALLBACK . ' and http://localhost:<port>/callback or http://127.0.0.1:<port>/callback are allowed.');
MEDIUMAuth / authz · mcp.remote_no_auth · CWE-287, CWE-862
streamable-http
Why it matters. a network transport with no auth environment variable found
Fix. require a token
LOWCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
server/tests/MigratorTest.php:199
$this->pdo->exec((string) file_get_contents(__DIR__ . '/../migrations/001_schema.sql'));
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
LOWCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
server/tests/MigratorTest.php:208
$this->pdo->exec("INSERT INTO persoon (naam, token_hash) VALUES ('Alice', '" . hash('sha256', 'token-alice') . "'), ('Bob', '" . hash('sha256', 'token-bob') . "')");
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
server/tests/OAuthTest.php:203
$response = $this->http('POST', '/oauth/register', array(), array('client_name' => 'Claude', 'redirect_uris' => array(self::CALLBACK, 'http://localhost:33418/callback', 'http://127.0.0.1:5000/callback
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
server/tests/OAuthTest.php:365
$client = $this->client(array('http://127.0.0.1:1111/callback'));
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
server/tests/OAuthTest.php:366
$code = $this->code($client, 'http://127.0.0.1:2222/callback');
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
server/tests/OAuthTest.php:368
self::assertSame('invalid_grant', $this->exchange($client, $code, 'http://127.0.0.1:3333/callback')->data['error']);
LOWInventory / provenance · mcp.no_tools_extracted · CWE-1104
server.json
Why it matters. the tool list is enumerated at runtime by tools/list, not declared in source
Fix. the page says so rather than showing an empty table

Gates applied: no_behavioural_pass.

Audited 2026-10-11 · audit v0.4.1 · source sha c233d6ddf90cfull audit observations/trust-audit/mcp-server/dimitrihilverda__claude-session-relay.json · Report an issue / request a re-scan
03

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-11c233d6ddf90cBLOCKD62first audit
04

Questions

What is the claude-session-relay MCP server?

Let Claude Code sessions on different machines share a board, message each other and avoid colliding git pushes. Teams, private sessions, and an MCP connector for claude.ai and Cowork.

Is claude-session-relay safe to connect to an agent?

No — not without reading the findings first. The audit graded it D (62/100) and found 3 critical or high issues in the source. Each one is listed on this page with the file and line it is on.

What credentials does claude-session-relay need?

No credential environment variables were found in its source, so it appears to need none.

How does claude-session-relay run?

It speaks streamable-http, so it runs as a service you connect to over the network.

How current is this page?

The grade is for one exact copy of the source (c233d6ddf90c), read on 2026-10-11. The repository is watched and re-audited when it changes.

Advertisement