Codync
免費、開源的 1:1 替代方案,取代 Grok Bot 與 Muse。從 iPhone、Mac 或 Linux 桌面將 Claude Code、Codex、Cursor 與 40+ 程式碼代理人作為持續機器人傳訊。群組聊天、主題串…
AI 翻譯
尚未收集儲存庫資訊。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Conecta Claude con ActiveCollab. Cualquier persona con una cuenta de ActiveCollab pega una URL en Claude, inicia sesión con su cuenta y listo. Desde el chat, Claude puede revisar tareas, crear proyectos, registrar horas, comentar, consultar facturas y usar cualquier otra función de la API, siempre con los permisos de esa persona.
El repo incluye la documentación completa de la API de ActiveCollab (124 páginas, 275 endpoints) en docs/activecollab-api. Claude la consulta para saber qué endpoint usar en cada caso.
Servicio independiente, no afiliado ni respaldado por ActiveCollab.
Hay dos formas de usarlo:
| Cómo | Para quién | |
|---|---|---|
| Servicio público | Pegas la URL del servicio en Claude y listo | Cualquier persona con cuenta de ActiveCollab |
| Tu propio servidor | Despliegas tu copia en Vercel, limitada a tu empresa | Empresas que prefieren su propia infraestructura |
Claude (web, escritorio y móvil):
ActiveCollab. URL: https://<dominio-del-servicio>/api/mcp.En planes Team o Enterprise de Claude, quien administra la organización puede agregar el conector una vez para todos. Después, cada persona solo pulsa Conectar.
Claude Code:
claude mcp add --transport http activecollab https://<dominio-del-servicio>/api/mcp
Después ejecuta /mcp y elige Authenticate.
Claude ──MCP + OAuth──▶ servidor: /api/mcp ──API v1 (token de cada persona)──▶ app.activecollab.com/<cuenta>
Herramientas que ve Claude:
| Tipo | Herramientas |
|---|---|
| Uso diario | whoami, list_projects, get_project, create_project, update_project, list_task_lists, create_task_list, list_tasks, list_user_tasks, get_task, create_task, update_task, complete_task, add_subtask, complete_subtask, add_comment, list_discussions, create_discussion, list_notes, create_note, list_job_types, log_time, list_time_records, log_expense, search, list_users, list_companies, list_labels, move_to_trash |
| Documentación | search_api_docs (busca endpoints, también en español), get_api_doc_page (ejemplos reales de cada endpoint), list_api_endpoints |
| Acceso total | activecollab_api_request: llama a cualquier endpoint (facturas, presupuestos, equipos, reportes, papelera…) |
Así se configura el servicio principal en Vercel Pro:
| Variable | Valor |
|---|---|
AUTH_SECRET | clave aleatoria: node -e "console.log(require('crypto').randomBytes(32).toString('base64url'))" |
PUBLIC_URL | https://<tu-dominio> (sin barra final) |
No pongas ACTIVECOLLAB_ALLOWED_ACCOUNT_IDS: sin esa variable, el servicio queda abierto a cualquier cuenta de ActiveCollab.
4. Redespliega (Deployments → Redeploy) para que tome las variables.
5. Opcional: agrega un dominio propio en Settings → Domains y actualiza PUBLIC_URL.
6. Opcional: en Firewall, crea una regla con límite de peticiones para /oauth/ como protección extra.
7. Comprueba que https://<tu-dominio> muestre la página del servicio y que https://<tu-dominio>/.well-known/oauth-authorization-server devuelva JSON. Después conecta tu propia cuenta desde Claude.
Para usarlo solo dentro de tu empresa:
AUTH_SECRET: una clave aleatoria de al menos 32 caracteres.ACTIVECOLLAB_ALLOWED_ACCOUNT_IDS: el ID de tu cuenta, el número de app.activecollab.com/123456. Puedes poner varios separados por comas.SERVICE_OWNER_NAME y SERVICE_CONTACT_EMAIL: tu nombre o empresa y tu email. Aparecen en la política de privacidad.PUBLIC_URL: recomendada.https://<tu-app>.vercel.app/api/mcp.Usa el dominio de producción. Las URLs de preview suelen estar protegidas por Vercel y Claude no puede entrar.
Ver .env.example.
| Variable | Obligatoria | Descripción |
|---|---|---|
AUTH_SECRET | Sí | Clave maestra de cifrado (mínimo 32 caracteres) |
PUBLIC_URL | Recomendada | URL pública, sin barra final |
UPSTASH_REDIS_REST_URL / UPSTASH_REDIS_REST_TOKEN | Recomendada | Límite de intentos (también acepta KV_REST_API_URL / KV_REST_API_TOKEN) |
ACTIVECOLLAB_ALLOWED_ACCOUNT_IDS | No | Limita el acceso a esas cuentas. Vacía = cualquier cuenta |
ACTIVECOLLAB_READ_ONLY | No | true bloquea todo lo que no sea lectura |
SERVICE_NAME, SERVICE_OWNER_NAME, SERVICE_CONTACT_EMAIL | No | Datos de la página pública y de las políticas |
OAUTH_ALLOWED_REDIRECT_HOSTS | No | Hosts extra a los que se permite volver tras el login |
AUTH_SECRET. El token de ActiveCollab nunca viaja en claro. Los access tokens duran 1 hora y los refresh tokens 30 días.claude.ai, claude.com o localhost (Claude Code y Desktop).AUTH_SECRET y redespliega.nosniff, DENY para iframes y Permissions-Policy.El acceso se decide en un solo lugar: lib/auth/access.ts. Se consulta al iniciar sesión, en cada renovación y en cada petición MCP. Para cobrar una suscripción bastará con que esa función consulte qué cuentas tienen el pago al día. Por ejemplo, con un webhook de Stripe que guarde las cuentas activas en Redis. Dejar de pagar cortaría el acceso en la siguiente petición.
cp .env.example .env.local # y pon un AUTH_SECRET
npm run dev
El endpoint queda en http://localhost:3000/api/mcp. Puedes probarlo con el inspector oficial de MCP, que también hace el login OAuth:
npx @modelcontextprotocol/inspector
pip install beautifulsoup4
npm run docs:build
Esto regenera docs/activecollab-api/ y lib/activecollab/api-docs.generated.json a partir de https://developers.activecollab.com/api-documentation/.
app/page.tsx Página pública del servicio
app/privacidad, app/terminos Política de privacidad y términos de uso
app/api/mcp/route.ts Endpoint MCP (requiere access token OAuth)
app/.well-known/oauth-*/ Metadatos OAuth (descubrimiento automático)
app/oauth/register|authorize|token Registro de clientes, login y emisión de tokens
lib/auth/ Cifrado, OAuth, páginas de login y control de acceso
lib/rate-limit.ts Límite de intentos (Upstash Redis)
lib/mcp/ Servidor MCP y herramientas
lib/activecollab/ Cliente de la API y búsqueda en la documentación
lib/site.ts Nombre, responsable y contacto del servicio
docs/activecollab-api/ Documentación de la API en markdown
scripts/build-api-docs.py Regenera la documentación