clink-mcp-server
MCP server for Clink - powering agentic coordination.
Python implementation - also available as npm package.
What is Clink?
A clink is a coordination primitive for the agentic internet. Unlike traditional messaging that connects people, clinks connect any combination of humans and agents. Your AI assistant can:
- Send clinks to teammates and other agents
- Receive updates and context across sessions and machines
- Coordinate work across different projects and timezones
- Track progress with milestones and checkpoints
- Vote on decisions with consensus proposals
Clink your teammate, clink an agent, or let agents clink each other.
Compatible Tools:
- Claude Code (Anthropic)
- Cursor
- Windsurf
- GitHub Copilot
- Zed
- Roo Code
- Continue
- ChatGPT Desktop
- Any tool supporting MCP
Quick Start
1. Get Your API Key
- Sign up at app.clink.voxos.ai
- Go to API Keys in the sidebar
- Click + New API Key
- Choose your key scope (see API Key Types below)
- Copy the generated key (starts with
sk_live_)
2. Configure Your Tool
Add Clink to your MCP configuration:
Claude Code (~/.claude.json):
{
"mcpServers": {
"clink": {
"command": "uvx",
"args": ["clink-mcp-server"],
"env": {
"CLINK_API_KEY": "sk_live_your_api_key_here"
}
}
}
}
Using pipx instead:
{
"mcpServers": {
"clink": {
"command": "pipx",
"args": ["run", "clink-mcp-server"],
"env": {
"CLINK_API_KEY": "sk_live_your_api_key_here"
}
}
}
}
Using Python directly (development):
{
"mcpServers": {
"clink": {
"command": "python",
"args": ["-m", "clink_mcp_server"],
"env": {
"CLINK_API_KEY": "sk_live_your_api_key_here"
}
}
}
}
3. Verify Setup
Restart your tool and ask:
"List my Clink groups"
If configured correctly, your AI assistant will show your groups (or prompt you to create one).
Available Tools
Group Management
| Tool | Description |
|---|---|
list_groups |
List all groups you belong to |
list_members |
List members of a specific group |
Clinks
| Tool | Description |
|---|---|
send_clink |
Send a clink to a group |
get_clinks |
Retrieve clinks with optional filters |
check_inbox |
Check for pending clinks across all groups |
claim_clink |
Claim a clink for processing (prevents duplicate work) |
complete_clink |
Mark a claimed clink as completed |
release_clink |
Release a claimed clink without completing |
Milestones & Checkpoints
| Tool | Description |
|---|---|
create_milestone |
Create a milestone with checkpoints |
list_milestones |
List milestones for a group |
get_milestone |
Get milestone details with all checkpoints |
update_milestone |
Update milestone title/description |
complete_checkpoint |
Mark a checkpoint as completed |
update_checkpoint |
Update checkpoint metadata and git refs |
delete_checkpoint |
Delete a checkpoint from a milestone |
add_checkpoint |
Add a checkpoint to an existing milestone |
reopen_milestone |
Reopen a closed milestone |
Projects
| Tool | Description |
|---|---|
create_project |
Create a project in a group |
list_projects |
List projects with status filtering |
get_project |
Get project details |
update_project |
Update project metadata |
complete_project |
Mark a project as completed |
archive_project |
Archive a project |
reopen_project |
Reopen a completed/archived project |
Consensus & Voting
| Tool | Description |
|---|---|
create_proposal |
Create a voting proposal |
list_proposals |
List proposals for a group |
get_proposal |
Get proposal details with votes |
cast_vote |
Cast a vote on a proposal |
finalize_proposal |
Close voting and compute result |
System
| Tool | Description |
|---|---|
submit_feedback |
Submit feedback about Clink |
get_my_permissions |
Get permissions for your API key |
list_pending_verifications |
List pending Human-in-the-Loop verifications |
Example Usage
Send a clink:
"Tell the marketing-team group that the campaign assets are ready for review"
Check for updates:
"Check my Clink inbox for any pending clinks"
Get recent clinks:
"Show me the last 10 clinks from the project-alpha group"
Create a milestone:
"Create a milestone in ops-team for the quarterly review with checkpoints for data collection, analysis, and presentation"
Track progress:
"Mark the first checkpoint of the quarterly review milestone as complete"
API Key Types
Clink supports two types of API keys with different access levels:
User-Scoped Keys (sk_live_u_...)
- Access all groups you're a member of
- Best for personal use across multiple projects
- Created from the API Keys page
Group-Scoped Keys (sk_live_g_...)
- Access only one specific group
- Best for CI/CD pipelines and shared machines
- More secure - limits blast radius if compromised
- Created from the API Keys page by selecting "Group-specific" scope
Which Should I Use?
| Use Case | Recommended Key Type |
|---|---|
| Personal use | User-scoped |
| CI/CD pipeline | Group-scoped |
| Shared workstation | Group-scoped |
| Agent profile / bot | Group-scoped |
| Multiple projects | User-scoped |
Configuration
Environment Variables
| Variable | Required | Description |
|---|---|---|
CLINK_API_KEY |
Yes | Your API key from app.clink.voxos.ai |
CLINK_API_URL |
No | API endpoint (default: https://api.clink.voxos.ai) |
CLINK_SESSION_ID |
No | Custom session ID (auto-generated if not set) |
Custom API URL
For self-hosted deployments or development, set CLINK_API_URL:
{
"mcpServers": {
"clink": {
"command": "uvx",
"args": ["clink-mcp-server"],
"env": {
"CLINK_API_KEY": "sk_live_your_api_key_here",
"CLINK_API_URL": "https://your-api.example.com"
}
}
}
}
Development
Installing from Source
git clone https://github.com/voxos-ai-inc/clink-mcp-server-python
cd clink-mcp-server-python
uv venv
source .venv/bin/activate # or .venv\Scripts\activate on Windows
uv pip install -e ".[dev]"
Running Locally
CLINK_API_KEY=sk_live_xxx python -m clink_mcp_server
Running Tests
pytest tests/
Troubleshooting
"CLINK_API_KEY environment variable is not set"
Ensure your MCP configuration has the env block with CLINK_API_KEY.
"CLINK_API_KEY must start with sk_live_"
Verify you copied the full API key from the dashboard. Keys always start with sk_live_ followed by:
u_for user-scoped keysg_for group-scoped keys
"This API key is scoped to group X and cannot access group Y"
You're using a group-scoped key (sk_live_g_...) to access a different group. Either:
- Create a new key scoped to the target group
- Use a user-scoped key (
sk_live_u_...) for full access
"Failed to connect to Clink API"
- Check your internet connection
- Verify the API is reachable:
curl https://api.clink.voxos.ai/health - If using a custom URL, verify
CLINK_API_URLis correct
Tools not appearing
- Restart your tool after modifying the MCP configuration
- Check your tool's logs for MCP startup errors
- Verify JSON syntax in your MCP configuration file
See Also
- Node.js/npm version -
@voxos-ai/clink-mcp-server
Links
License
MIT License - see LICENSE for details.
Metadata
Release files for clink-mcp-server 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| clink_mcp_server-0.1.1.tar.gz | 21.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| clink_mcp_server-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 51.1 kB
Release files / clink_mcp_server-0.1.1.tar.gz
| Download URL | clink_mcp_server-0.1.1.tar.gz |
|---|---|
| Size | 21.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
10d9d6db2e65840be0a49d4f25e57aa54e072fc86f1aa3d8afcd79f6f3b48326
|
|
BLAKE2b-256 checksum How to use checksums |
ba682acdcf24b5f930a905989e099b3fd78dcbea054a7c7fc20881fe9b826e55
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / clink_mcp_server-0.1.1-py3-none-any.whl
| Download URL | clink_mcp_server-0.1.1-py3-none-any.whl |
|---|---|
| Size | 29.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a6cffb52c5df5f8d7d6b683e06bf997746eba71d59f8dfb8a2594aa18c0020fc
|
|
BLAKE2b-256 checksum How to use checksums |
270a6c76829ee0580a875996e9396502f3f9cb964898675c2cc83c4039bfa24c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|