Give your AI agent read/write access to your Obsidian vault.
EVC Team Relay - MCP Server
Give your AI agent read/write access to your Obsidian vault.
Your agent reads your notes, creates new ones, and stays in sync — all through the Team Relay API.
Works with Claude Code, Codex CLI, OpenCode, and any MCP-compatible client.
Quick Start
1. Install
Option A — from PyPI (recommended):
No installation needed — uvx downloads and runs automatically. Skip to step 2.
Option B — from source:
git clone https://github.com/entire-vc/evc-team-relay-mcp.git
cd evc-team-relay-mcp
uv sync # or: pip install .
2. Configure your AI tool
Add the MCP server to your tool's config with your Relay credentials.
Claude Code
Add to .mcp.json in your project root or ~/.claude/.mcp.json:
{
"mcpServers": {
"evc-relay": {
"command": "uvx",
"args": ["evc-team-relay-mcp"],
"env": {
"RELAY_CP_URL": "https://cp.yourdomain.com",
"RELAY_EMAIL": "agent@yourdomain.com",
"RELAY_PASSWORD": "your-password"
}
}
}
}
Codex CLI
Add to your codex.json:
{
"mcp_servers": {
"evc-relay": {
"type": "stdio",
"command": "uvx",
"args": ["evc-team-relay-mcp"],
"env": {
"RELAY_CP_URL": "https://cp.yourdomain.com",
"RELAY_EMAIL": "agent@yourdomain.com",
"RELAY_PASSWORD": "your-password"
}
}
}
}
OpenCode
Add to opencode.json:
{
"mcpServers": {
"evc-relay": {
"command": "uvx",
"args": ["evc-team-relay-mcp"],
"env": {
"RELAY_CP_URL": "https://cp.yourdomain.com",
"RELAY_EMAIL": "agent@yourdomain.com",
"RELAY_PASSWORD": "your-password"
}
}
}
}
From source (all tools)
If you installed from source instead of PyPI, replace "command": "uvx" / "args": ["evc-team-relay-mcp"] with:
"command": "uv",
"args": ["run", "--directory", "/path/to/evc-team-relay-mcp", "relay_mcp.py"]
Ready-to-copy config templates are also in config/.
3. Use it
Your AI agent now has these tools:
| Tool | Description |
|---|---|
authenticate |
Authenticate with credentials (auto-managed) |
list_shares |
List accessible shares (filter by kind, ownership) |
list_files |
List files in a folder share |
read_file |
Read a file by path from a folder share |
read_document |
Read document by doc_id (low-level) |
upsert_file |
Create or update a file by path |
write_document |
Write to a document by doc_id |
delete_file |
Delete a file from a folder share |
Typical workflow: list_shares -> list_files -> read_file / upsert_file
Authentication is automatic — the server logs in and refreshes tokens internally.
Remote Deployment (HTTP Transport)
For shared or server-side deployments, run as an HTTP server:
# Direct
uv run relay_mcp.py --transport http --port 8888
# Docker
RELAY_CP_URL=https://cp.yourdomain.com \
RELAY_EMAIL=agent@yourdomain.com \
RELAY_PASSWORD=your-password \
docker compose up -d
Then configure your MCP client to connect via HTTP:
{
"mcpServers": {
"evc-relay": {
"type": "streamable-http",
"url": "http://your-server:8888/mcp"
}
}
}
Security
The MCP server provides significant security advantages over shell-based integrations:
- No shell execution — all operations are Python function calls via JSON-RPC, eliminating command injection risks
- No CLI arguments — credentials and tokens are never passed as process arguments (invisible in
psoutput) - Automatic token management — the server handles login, JWT refresh, and token lifecycle internally; the agent never touches raw tokens
- Typed inputs — all parameters are validated against JSON Schema before execution
- Single persistent process — no per-call shell spawning, no environment leakage between invocations
Note: If you're using the [OpenClaw skill](https://git
Tools (8)
authenticateAuthenticate with credentialslist_sharesList accessible shareslist_filesList files in a folder shareread_fileRead a file by path from a folder shareread_documentRead document by doc_idupsert_fileCreate or update a file by pathwrite_documentWrite to a document by doc_iddelete_fileDelete a file from a folder shareEnvironment Variables
RELAY_CP_URLrequiredThe URL of the Team Relay serverRELAY_EMAILrequiredEmail address for authenticationRELAY_PASSWORDrequiredPassword for authenticationConfiguration
{"mcpServers": {"evc-relay": {"command": "uvx", "args": ["evc-team-relay-mcp"], "env": {"RELAY_CP_URL": "https://cp.yourdomain.com", "RELAY_EMAIL": "agent@yourdomain.com", "RELAY_PASSWORD": "your-password"}}}}