bluesurf-mcp
Servidor MCP local de solo lectura para que Claude u otros agentes IA lean
tickets de BlueSurf. Un solo paquete PyPI incluye el núcleo
(bluesurf_client) y el adaptador MCP (bluesurf_mcp).
Solo lectura por diseño: no hay operaciones de escritura.
Instalación
pip install bluesurf-mcp
En este monorepo, modo editable:
pip install -e ./bluesurf-mcp
Guardar credenciales (login / logout)
La contraseña no tiene que ir en mcp.json. Una vez, en una terminal:
bluesurf-mcp login
Pide usuario y contraseña, valida contra BlueSurf y guarda la contraseña en el almacén del sistema (Credential Manager en Windows, Keychain en macOS, Secret Service en Linux). El username queda en un JSON local, sin la contraseña.
bluesurf-mcp logout
borra lo guardado.
Configuración (variables de entorno)
El entorno gana sobre lo guardado con login. Útil para CI o para
sobrescribir sin tocar el almacén.
Claves canónicas BLUESURF_*; se aceptan SURF_* como fallback.
BLUESURF_BASE_URL— URL base (opcional; defaulthttps://surf.bluepeople.com).BLUESURF_COOKIE— cookie de sesión ya válida → usaCookieAuth.BLUESURF_USERNAME+BLUESURF_PASSWORD— credenciales → usaCredentialsAuth.
Precedencia: cookie en env → usuario/contraseña en env → bluesurf-mcp login.
El núcleo (bluesurf_client) no persiste secretos.
Correr el servidor
bluesurf-mcp
Se comunica por stdio (el transporte estándar para MCP local). Sin
argumentos no pide contraseña: usa env o las credenciales de login.
Registrar el MCP en un cliente
Claude Code / Cursor (.mcp.json o config de usuario)
Tras bluesurf-mcp login:
{
"mcpServers": {
"bluesurf": {
"command": "bluesurf-mcp"
}
}
}
Si bluesurf-mcp no está en el PATH, usa la ruta absoluta al ejecutable del
venv o python -m bluesurf_mcp.
Las variables BLUESURF_* en env siguen siendo válidas como override; no hace
falta poner la contraseña ahí.
Tools expuestas (solo lectura)
mis_proyectos— proyectos del usuario (id, smallCode, code, name).buscar_mis_tickets(project, include_closed=False)— tickets asignados al usuario.obtener_ticket(code)— detalle de un ticket por su código (p. ej.PROJ-123).
Usar el cliente desde Python
El paquete de import del núcleo es bluesurf_client:
from bluesurf_client import BlueSurfClient, CredentialsAuth # o CookieAuth
Release files for bluesurf-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bluesurf_mcp-0.1.0.tar.gz | 13.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bluesurf_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 31.5 kB
Release files / bluesurf_mcp-0.1.0.tar.gz
| Download URL | bluesurf_mcp-0.1.0.tar.gz |
|---|---|
| Size | 13.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
96e04f80875e98480f97b505f446e8f6c093a286857fd09448977a8d203828ab
|
|
BLAKE2b-256 checksum How to use checksums |
05fc1729782bba02cbc2222b7baabe2a9f1d3d0d7989da1df1b51715edc2eec7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.
Transparency logRelease files / bluesurf_mcp-0.1.0-py3-none-any.whl
| Download URL | bluesurf_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 18.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bf84c44cfea38ce9a340c18c04d52095e8af62bb637247b7761604e48cc663d5
|
|
BLAKE2b-256 checksum How to use checksums |
9c8b58b7e7a149228b397da250d126615088aabe029a57cffd76ded636455854
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.
Transparency log