Skip to main content

bluesurf-mcp

Servidor MCP local para que Claude u otros agentes IA lean tickets de BlueSurf, adjunten un archivo, publiquen un comentario y registren tiempo en el daily report. 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.
  • proyectos_reporte — proyectos activos para registrar tiempo (id, smallCode, code, name, categoryIds).
  • listar_categorias(proyecto=None) — subcategorías del usuario. Con proyecto (smallCode) solo las de ese proyecto.
  • mi_reporte_diario(fecha) — daily report de un día (YYYY-MM-DD). cerrado es true cuando status es 2.
  • registrar_tiempo(fecha, lineas, confirmar=False) — agrega una o más líneas y reenvía el día en un solo guardado. Cada línea lleva horas, categoria y, si aplica, descripcion, proyecto, ticket y pendiente. Sin ticket la descripción es obligatoria. confirmar cierra el día; por defecto guarda un borrador.

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.4.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.4.0
File Size Uploaded Provenance Actions
bluesurf_mcp-0.4.0.tar.gz 26.8 kB With provenance Details for bluesurf_mcp-0.4.0.tar.gz

Built distribution (wheel)

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

Total release size: 53.7 kB

Release files / bluesurf_mcp-0.4.0.tar.gz

Download URL bluesurf_mcp-0.4.0.tar.gz
Size 26.8 kB
Tags Source
SHA-256 checksum
How to use checksums
075f2cd3e7895344994915ac6aaddcabaadce2d62d7e607f71ba95d28812ef38
BLAKE2b-256 checksum
How to use checksums
b80e06626f9aaa26151e43a67745f5bbaf195ff7d6246ec96734aa98199e0de5
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 Nov 2, 2026.

Transparency log

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

Download URL bluesurf_mcp-0.4.0-py3-none-any.whl
Size 26.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d37c164ea91face4ccc8454ad2fc93d3dc10d751e02972c5efe26669bd633e84
BLAKE2b-256 checksum
How to use checksums
a9b4d1f0fa6be87ec527b8b94267e30278f618185a88676323626ffb449482dd
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 Nov 2, 2026.

Transparency log

Security for bluesurf-mcp 0.4.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.4.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 Nov 2, 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