Business Card MCP
Business Card MCP
Tarjetero personal privado, nativo de IA y autoalojable. Los usuarios suben tarjetas de visita en ChatGPT, que son reconocidas y confirmadas por el modelo multimodal existente; Remote MCP se encarga de la verificación, el almacenamiento privado, la búsqueda, la modificación, el archivado y la exportación, sin llamadas adicionales a la API del modelo.
Funciones
ChatGPT Remote MCP: crear, buscar, leer, actualizar, archivar y exportar tarjetas de visita
Sitio web de administración privado: inicio de sesión con contraseña propia, vista de muro de tarjetas / lista, miniaturas protegidas
D1 FTS5: búsqueda por nombre, empresa, cargo, teléfono, correo electrónico, dirección, etiquetas, ocasión y notas
R2: Markdown privado y miniaturas WebP de 480px
KV: clave de conector
bc_independiente por usuarioPágina de confirmación de tarjeta clicable devuelta tras la escritura
La miniatura es un campo obligatorio al crear la tarjeta, para evitar datos sin imagen
Actualmente es búsqueda de texto completo por palabras clave, no búsqueda semántica por embedding / vectores.
Related MCP server: DuckPond MCP Server
Arquitectura
ChatGPT / Claude
│ Remote MCP
▼
Cloudflare Worker ── WEB_PASSWORD 或可選 Cloudflare Access JWT 驗證
├── D1:聯絡人與 FTS5
├── R2:Markdown、WebP 縮圖
├── KV:MCP Key
└── Static Assets:私人管理網站Las imágenes originales de las tarjetas no se guardan por defecto. El repositorio de GitHub solo contiene código, migraciones y datos de prueba sintéticos, sin ningún contacto de usuario.
Herramientas MCP
Herramienta | Propósito |
| Escribir los datos confirmados por el usuario, el Markdown y la miniatura obligatoria |
| Buscar las propias tarjetas de visita |
| Obtener la tarjeta completa y el enlace de la página de confirmación |
| Actualizar campos, etiquetas y notas |
| Archivar la tarjeta, sin eliminación permanente |
| Exportar en Markdown o vCard |
Requisitos de despliegue
Node.js 20+
Cuenta de Cloudflare
CLI de Wrangler conectada a la cuenta de Cloudflare correcta
Despliegue
1. Instalación y configuración local
npm install
cp public/config.example.js public/config.jswrangler.jsonc se incluye en el repositorio como versión de marcador de posición con valores cero (el estándar SmallGreen requiere declaraciones de recursos estáticamente determinables); en el siguiente paso se rellenan los ID reales. Después de rellenarlos, se recomienda git update-index --skip-worktree wrangler.jsonc para evitar que se confirmen los ID reales. public/config.js está ignorado por Git; la autenticación web no necesita configuración en el frontend.
2. Crear recursos de Cloudflare
npx wrangler d1 create business-card-mcp
npx wrangler r2 bucket create business-card-mcp-assets
npx wrangler kv namespace create CARD_KEYSRellena los ID de account, D1 y KV devueltos por Cloudflare en wrangler.jsonc y configura:
PUBLIC_BASE_URLEl nombre del bucket de R2
A continuación, configura la contraseña propia para el inicio de sesión web; la contraseña solo se gestiona mediante el secreto de Wrangler, no se escribe en wrangler.jsonc:
npx wrangler secret put WEB_PASSWORDCF_ACCESS_TEAM_DOMAIN y CF_ACCESS_AUD pueden dejarse vacíos por defecto; dejarlos vacíos significa que la web usa inicio de sesión con contraseña, sin vinculación de tarjeta.
3. Mejora opcional: OTP por correo electrónico de Cloudflare Access
Para cambiar a que Cloudflare realice primero un One-Time PIN por correo electrónico en el borde, configura esta sección. La incorporación a Zero Trust puede requerir vincular una tarjeta de crédito; el plan gratuito en sí es de $0.
Crea una aplicación de Access autoalojada en Cloudflare Zero Trust que proteja el dominio de este Worker.
Habilita One-Time PIN como método de inicio de sesión y restringe quién puede iniciar sesión con una política de correo electrónico o dominio de correo.
Confirma que la interfaz del navegador y
/api/*estén dentro de la cobertura de Access.Exime la ruta
/mcpdel requisito de inicio de sesión de Access, por ejemplo con una política de Bypass basada en ruta o dividiéndola en reglas de ruta sin Access./mcpsigue autenticándose con la clave MCPbc_; ChatGPT/Claude no llevan la cookie de Cloudflare Access.Rellena la etiqueta de audiencia de esa aplicación de Access en
CF_ACCESS_AUDy el dominio del equipo de Zero Trust enCF_ACCESS_TEAM_DOMAIN, y vuelve a desplegar. Una vez rellenado, las solicitudes web que pasen Access se permitirán automáticamente sin preguntar por la contraseña propia.
4. Migración, pruebas y despliegue
npx wrangler types
npm run typecheck
npm test
npx wrangler d1 migrations apply business-card-mcp --remote
npx wrangler deploy5. Conexión con ChatGPT
Abre el sitio web desplegado e introduce la contraseña propia configurada en
WEB_PASSWORD; si ya se ha actualizado a Cloudflare Access, se verificará con el One-Time PIN por correo electrónico.Genera la clave MCP de la tarjeta de visita.
Copia la URL completa del conector; la URL contiene la clave, así que trátala como una contraseña.
Añade Remote MCP en el modo de desarrollador de ChatGPT.
Tras escanear las herramientas, prueba con «buscar a alguien con la tarjeta MCP».
Desarrollo local
npm run migrate:local
npm run devComprobación de salud: GET /healthz
Remote MCP: POST /mcp
Seguridad y privacidad
Todas las consultas de tarjetas están restringidas al
ownerque inició sesión con contraseña, alsubde Cloudflare Access o al propietario de la clave MCP.El bucket de R2 se mantiene privado; las miniaturas se sirven mediante una API protegida por inicio de sesión.
MCP acepta tanto el token Bearer como el token de consulta de la URL del conector.
La clave completa solo se muestra en el momento de la creación y admite revocación individual.
No confirmes
.env,.dev.vars,wrangler.jsoncnipublic/config.js.
Los problemas de seguridad deben notificarse de forma privada según SECURITY.md, no crees un Issue público.
Verificación
npm test
npm run typecheck
npm audit --omit=devEl proyecto cuenta actualmente con pruebas unitarias, de protocolo MCP, de API web, de permisos, de almacenamiento y de contrato de UI; el umbral de cobertura es del 80 % en líneas/funciones/sentencias y del 75 % en ramas.
Limitaciones conocidas
Aún no se ofrece búsqueda semántica por vectores.
Las tarjetas existentes sin imagen aún no tienen interfaz para añadir imagen; los datos nuevos ya exigen miniatura obligatoria.
La eliminación permanente no está habilitada por defecto; se usa el archivado para evitar borrados accidentales.
Licencia
Apache-2.0. Ver LICENSE.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Private persistent memory for Claude, ChatGPT & Gemini via MCP - semantic search, zero-code setup.
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.
API-first CRM for LLMs - contacts, companies, deals and activities over a native MCP server.
Persistent memory and vector search for AI agents. Hosted, OAuth-protected via Google sign-in.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceSelf-hosted semantic memory layer for Claude and MCP-compatible AI clients. Store notes, search by meaning not keywords, and recall relevant context automatically across sessions. Runs free on Cloudflare Workers, D1, Vectorize, and Workers AI2750MIT
- AlicenseAqualityFmaintenanceMCP server for multi-tenant DuckDB management with R2/S3 cloud storage, enabling AI agents to manage per-user databases with automatic cloud persistence.6876MIT
- FlicenseNot gradedqualityDmaintenanceSelf-hosted personal knowledge graph running on Cloudflare, connecting to Claude as an MCP server for capturing atomic concepts and cross-domain analogies.21-
- AlicenseNot gradedqualityBmaintenanceSelf-hosted MCP server connecting AI assistants like Claude to Anki for AI-assisted flashcard generation and sync. It supports multi-tenant, authenticated operations to add, search, and analyze cards in real Anki collections.AGPL 3.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ai-cooperation/business-card-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server