Pursers for VS Code
io.github.swisspra/pursers
Coordinate AI-agent work on a local-first, owner-controlled MCP board
client:VS Code
transport:stdio
runtime:pypi
Install Pursers in VS Code
.vscode/mcp.json
{
"inputs": [
{
"type": "promptString",
"id": "onboard-central-host",
"description": "ONBOARD_CENTRAL_HOST",
"password": true
},
{
"type": "promptString",
"id": "onboard-central-port",
"description": "ONBOARD_CENTRAL_PORT",
"password": true
},
{
"type": "promptString",
"id": "onboard-central-data-dir",
"description": "ONBOARD_CENTRAL_DATA_DIR",
"password": true
},
{
"type": "promptString",
"id": "onboard-central-log-level",
"description": "ONBOARD_CENTRAL_LOG_LEVEL",
"password": true
},
{
"type": "promptString",
"id": "onboard-central-allowed-hosts",
"description": "ONBOARD_CENTRAL_ALLOWED_HOSTS",
"password": true
},
{
"type": "promptString",
"id": "onboard-central-tls-certfile",
"description": "ONBOARD_CENTRAL_TLS_CERTFILE",
"password": true
},
{
"type": "promptString",
"id": "onboard-central-tls-keyfile",
"description": "ONBOARD_CENTRAL_TLS_KEYFILE",
"password": true
},
{
"type": "promptString",
"id": "central-admission",
"description": "CENTRAL_ADMISSION",
"password": true
},
{
"type": "promptString",
"id": "central-auth-mode",
"description": "CENTRAL_AUTH_MODE",
"password": true
},
{
"type": "promptString",
"id": "central-jwks-path",
"description": "CENTRAL_JWKS_PATH",
"password": true
},
{
"type": "promptString",
"id": "central-jwt-audience",
"description": "CENTRAL_JWT_AUDIENCE",
"password": true
},
{
"type": "promptString",
"id": "central-jwt-clock-skew",
"description": "CENTRAL_JWT_CLOCK_SKEW",
"password": true
},
{
"type": "promptString",
"id": "central-jwt-issuer",
"description": "CENTRAL_JWT_ISSUER",
"password": true
},
{
"type": "promptString",
"id": "central-principal-stream-cap",
"description": "CENTRAL_PRINCIPAL_STREAM_CAP",
"password": true
},
{
"type": "promptString",
"id": "central-reaper-interval-s",
"description": "CENTRAL_REAPER_INTERVAL_S",
"password": true
},
{
"type": "promptString",
"id": "central-request-state-key-file",
"description": "CENTRAL_REQUEST_STATE_KEY_FILE",
"password": true
},
{
"type": "promptString",
"id": "pursers-legacy-tools",
"description": "PURSERS_LEGACY_TOOLS",
"password": true
},
{
"type": "promptString",
"id": "store-backend",
"description": "STORE_BACKEND",
"password": true
}
],
"servers": {
"pursers": {
"type": "stdio",
"command": "uvx",
"args": [
"pursers-central"
],
"env": {
"ONBOARD_CENTRAL_HOST": "${input:onboard-central-host}",
"ONBOARD_CENTRAL_PORT": "${input:onboard-central-port}",
"ONBOARD_CENTRAL_DATA_DIR": "${input:onboard-central-data-dir}",
"ONBOARD_CENTRAL_LOG_LEVEL": "${input:onboard-central-log-level}",
"ONBOARD_CENTRAL_ALLOWED_HOSTS": "${input:onboard-central-allowed-hosts}",
"ONBOARD_CENTRAL_TLS_CERTFILE": "${input:onboard-central-tls-certfile}",
"ONBOARD_CENTRAL_TLS_KEYFILE": "${input:onboard-central-tls-keyfile}",
"CENTRAL_ADMISSION": "${input:central-admission}",
"CENTRAL_AUTH_MODE": "${input:central-auth-mode}",
"CENTRAL_JWKS_PATH": "${input:central-jwks-path}",
"CENTRAL_JWT_AUDIENCE": "${input:central-jwt-audience}",
"CENTRAL_JWT_CLOCK_SKEW": "${input:central-jwt-clock-skew}",
"CENTRAL_JWT_ISSUER": "${input:central-jwt-issuer}",
"CENTRAL_PRINCIPAL_STREAM_CAP": "${input:central-principal-stream-cap}",
"CENTRAL_REAPER_INTERVAL_S": "${input:central-reaper-interval-s}",
"CENTRAL_REQUEST_STATE_KEY_FILE": "${input:central-request-state-key-file}",
"PURSERS_LEGACY_TOOLS": "${input:pursers-legacy-tools}",
"STORE_BACKEND": "${input:store-backend}"
}
}
}
}
VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs