Skip to main content

bluesurf-mcp

Servidor MCP local para que Claude u otros agentes IA lean tickets de BlueSurf, adjunten un archivo y publiquen un comentario. Un solo paquete PyPI incluye el núcleo (bluesurf_client) y el adaptador MCP (bluesurf_mcp).

Instalación

Requiere Python 3.10 o superior. Guía paso a paso (instalación global, login y Cursor): MANUAL_INSTALACION.md en el repositorio.

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; default https://surf.bluepeople.com).
  • BLUESURF_COOKIE — cookie de sesión ya válida → usa CookieAuth.
  • BLUESURF_USERNAME + BLUESURF_PASSWORD — credenciales → usa CredentialsAuth.

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 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

  • 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).
  • listar_adjuntos(code) — archivos de la sección Files del ticket (id, name, is_image), sin descargarlos.
  • descargar_adjuntos(code, destino, archivo_id=None) — guarda esos archivos en destino. Con archivo_id descarga solo uno; si no, todos. Devuelve id, name, path, content_type y size.
  • adjuntar_archivo(code, ruta) — sube un archivo local a la sección Files. Devuelve id, name e is_image del archivo nuevo.
  • agregar_comentario(code, texto) — publica un comentario. El texto se escapa y se envuelve en un párrafo HTML. Devuelve id, author, body y created_at.

Usar el cliente desde Python

El paquete de import del núcleo es bluesurf_client:

from bluesurf_client import BlueSurfClient, CredentialsAuth  # o CookieAuth

Metadata

Release files for bluesurf-mcp 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bluesurf-mcp 0.3.0
File Size Uploaded Provenance Actions
bluesurf_mcp-0.3.0.tar.gz 19.8 kB With provenance Details for bluesurf_mcp-0.3.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for bluesurf-mcp 0.3.0
File Interpreter ABI Platform Actions
bluesurf_mcp-0.3.0-py3-none-any.whl Python 3 none any Details for bluesurf_mcp-0.3.0-py3-none-any.whl

Total release size: 42.0 kB

Release files / bluesurf_mcp-0.3.0.tar.gz

Download URL bluesurf_mcp-0.3.0.tar.gz
Size 19.8 kB
Tags Source
SHA-256 checksum
How to use checksums
aa56081bd77cfa3ad27f19c6e0769bccb221ff2dd052b952600c96f03d263493
BLAKE2b-256 checksum
How to use checksums
024cf3df78d4f788a20500eca887818a19e433222280dac491ba93ec85ca2c52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 28, 2026.

Transparency log

Release files / bluesurf_mcp-0.3.0-py3-none-any.whl

Download URL bluesurf_mcp-0.3.0-py3-none-any.whl
Size 22.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a12a04e2cf331a9c5e457b8d3db11075020610406f3f35d197671ecd8d453ffc
BLAKE2b-256 checksum
How to use checksums
3720e9b8437157f4586cb6825bc62751c5058e654f6d4f8690b9a46243aa61f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 28, 2026.

Transparency log

Security for bluesurf-mcp 0.3.0

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.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for bluesurf_mcp-0.3.0.tar.gz

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 Oct 28, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page