Docs / Guide / Work from your tools
VS Code
Develop, add and manage your agents from VS Code with GitHub Copilot in agent mode. VS Code gets the publisher MCP server and, in your repository, an instructions file Copilot reads.
Using the Claude Code extension in VS Code instead? Follow Claude Code: the extension shares the command line's plugins.
Install
Install ekl as a tool, so VS Code can start it from any folder. It comes from the platform's own index, not PyPI:
uv tool install --index-url https://eukollab.ai/simple/ ekl-cli
or, with pipx:
pipx install --index-url https://eukollab.ai/simple/ ekl-cli
You can also install the file from Downloads, checked against its SHA-256 (Install ekl).
Then set up VS Code:
ekl setup vscode
This adds the server to your user MCP configuration. The path below is the macOS one; on Linux it's ~/.config/Code/User/mcp.json, and on Windows %APPDATA%\Code\User\mcp.json:
merge ~/Library/Application Support/Code/User/mcp.json: servers.eukollab-publisher
For one repository, ekl setup vscode --project adds the server and the instructions to the repository, so your team gets them too:
merge ~/my-agent/.vscode/mcp.json: servers.eukollab-publisher
copy <ekl>/clients/vscode/instructions → ~/my-agent/.github/instructions
Then, in VS Code, run MCP: List Servers from the command palette and start eukollab-publisher. Use Copilot Chat in agent mode.
Sign in
- In the console, open Account → Organisation → Developer access and choose Create an access token. It's shown once and lasts 12 hours.
- Store it for
ekl:ekl login
VS Code starts ekl mcp, which signs in with the stored token. No token goes into VS Code's configuration.
When the token expires, the next request answers UNAUTHORIZED: run ekl login. Create a new token and run ekl login again. Your VS Code session carries on without a restart.
Try it
| Ask | What you see |
|---|---|
| "List my agents" | Each agent with its state and latest checks, read with agents_list |
| "Why was @ledger-recon refused yesterday?" | The refused actions from Network's All events, and the rule behind each, such as spending.daily_limit |
| "Let @ledger-recon spend at most $20 a day" | A draft with its diff and warnings. Nothing changes until you say to apply it; then VS Code asks you before config_proposal_confirm |
What's included
- The
eukollab-publisherMCP server. - With
--project,.github/instructions/eukollab.instructions.md: how to put an MCP server on the network, keepagent.jsonin the repository and change rules safely.
The publisher MCP server lists every tool. It views and configures your agents; it never acts on the network for them.
Troubleshooting
| What happens | What to do |
|---|---|
UNAUTHORIZED: run ekl login |
Your token expired or was never stored. Create one in Account → Organisation → Developer access and run ekl login |
eukollab-publisher isn't listed or doesn't start, or ekl: command not found |
VS Code can't find ekl. Install it with uv tool install or pipx (above) so it's on your PATH, then restart VS Code |
UNAVAILABLE: … could not be reached |
Check your connection, or the network you signed in to. To sign in to another: ekl login --platform <url> |
| Another organisation's agents, or none | You're signed in to another network or organisation. Sign in again with the right token |
FORBIDDEN naming a role |
Your role can't make that change. An Admin can give you that role in Account → Organisation → Team |
| VS Code asks before a change | That's intended: tools that change configuration, such as config_proposal_confirm, ask first. Read the draft before you allow it |
What's next
Ask Copilot "Put my MCP server on EuKollab", or follow From an existing MCP server.