Business Card MCP
Business Card MCP
AI-native, самостоятельно размещаемая частная библиотека визитных карточек. Пользователь загружает визитную карточку в ChatGPT, её распознаёт и подтверждает существующая мультимодальная модель; Remote MCP отвечает за проверку, приватное хранение, поиск, изменение, архивирование и экспорт, без дополнительных вызовов API моделей.
Возможности
ChatGPT Remote MCP: создание, поиск, чтение, обновление, архивирование и экспорт визитных карточек
Приватный сайт управления: вход по собственному паролю, просмотр стеной карточек/списком, защищённые миниатюры
D1 FTS5: поиск по имени, компании, должности, телефону, email, адресу, тегам, случаю и примечаниям
R2: приватный Markdown и миниатюры 480px WebP
KV: отдельный
bc_Connector Key для каждого пользователяПосле записи возвращается кликабельная страница подтверждения визитной карточки
Миниатюра — обязательное поле при создании визитной карточки, чтобы не появлялись данные без изображения
Сейчас это полнотекстовый поиск по ключевым словам, а не embedding/векторный семантический поиск.
Related MCP server: DuckPond MCP Server
Архитектура
ChatGPT / Claude
│ Remote MCP
▼
Cloudflare Worker ── WEB_PASSWORD 或可選 Cloudflare Access JWT 驗證
├── D1:聯絡人與 FTS5
├── R2:Markdown、WebP 縮圖
├── KV:MCP Key
└── Static Assets:私人管理網站Исходные изображения визитных карточек по умолчанию не сохраняются. Репозиторий GitHub содержит только код, миграции и синтетические тестовые данные, без контактов пользователей.
MCP Tools
Tool | Назначение |
| Запись подтверждённых пользователем данных, Markdown и обязательной миниатюры |
| Поиск своих визитных карточек |
| Получение полной визитной карточки и ссылки на страницу подтверждения |
| Обновление полей, тегов и примечаний |
| Архивация визитной карточки, без окончательного удаления |
| Экспорт в Markdown или vCard |
Требования к развёртыванию
Node.js 20+
Аккаунт Cloudflare
Wrangler CLI, выполнивший вход в правильный аккаунт Cloudflare
Развёртывание
1. Установка и создание локальной конфигурации
npm install
cp public/config.example.js public/config.jswrangler.jsonc поставляется с репозиторием в виде заглушки с нулевыми значениями (стандарт SmallGreen требует статически определяемых объявлений ресурсов); на следующем шаге впишите реальные ID; после заполнения рекомендуется выполнить git update-index --skip-worktree wrangler.jsonc, чтобы реальные ID не попали в коммит. public/config.js игнорируется Git; для веб-аутентификации фронтенд-конфигурация не нужна.
2. Создание ресурсов Cloudflare
npx wrangler d1 create business-card-mcp
npx wrangler r2 bucket create business-card-mcp-assets
npx wrangler kv namespace create CARD_KEYSВпишите возвращённые Cloudflare account, D1 и KV ID в wrangler.jsonc и задайте:
PUBLIC_BASE_URLимя R2 bucket
Затем задайте собственный пароль для входа на сайт; пароль передаётся только через Wrangler secret и не записывается в wrangler.jsonc:
npx wrangler secret put WEB_PASSWORDCF_ACCESS_TEAM_DOMAIN и CF_ACCESS_AUD по умолчанию можно оставить пустыми; пустое значение означает вход на сайт по паролю, без привязки карты.
3. Необязательное обновление: Cloudflare Access email OTP
Если хотите, чтобы Cloudflare выполнял email One-Time PIN на границе сети, настройте этот раздел. Онбординг Zero Trust может потребовать привязки кредитной карты; сам бесплатный тариф — $0.
Создайте в Cloudflare Zero Trust self-hosted Access application, защищающую домен этого Worker.
Включите для входа One-Time PIN и ограничьте круг входящих политикой по email или домену email.
Убедитесь, что браузерный UI и
/api/*находятся под защитой Access.Исключите путь
/mcpиз требования входа Access, например с помощью path-based Bypass policy или отдельного правила путей без Access./mcpпо-прежнему аутентифицируется ключомbc_MCP; ChatGPT/Claude не передают cookie Cloudflare Access.Впишите Audience tag этого Access application в
CF_ACCESS_AUD, а Zero Trust team domain — вCF_ACCESS_TEAM_DOMAIN, затем переразверните. После этого веб-запросы, прошедшие Access, пропускаются автоматически, без запроса собственного пароля.
4. Миграция, тестирование и развёртывание
npx wrangler types
npm run typecheck
npm test
npx wrangler d1 migrations apply business-card-mcp --remote
npx wrangler deploy5. Подключение ChatGPT
Откройте развёрнутый сайт и введите собственный пароль, заданный в
WEB_PASSWORD; если выполнено обновление до Cloudflare Access, проверка выполняется по email One-Time PIN.Сгенерируйте MCP Key визитных карточек.
Скопируйте полный Connector URL; URL содержит Key и считается паролем.
В режиме разработчика ChatGPT добавьте Remote MCP.
После сканирования инструментов протестируйте командой «используй MCP визитных карточек, чтобы найти такого-то».
Локальная разработка
npm run migrate:local
npm run devПроверка работоспособности: GET /healthz
Remote MCP: POST /mcp
Безопасность и конфиденциальность
Все запросы визитных карточек ограничены вошедшим по паролю
owner,subиз Cloudflare Access или владельцем MCP Key.R2 bucket остаётся приватным; миниатюры отдаёт API, защищённый входом.
MCP принимает и Bearer token, и query token из Connector URL.
Полный Key показывается только в момент создания; поддерживается отзыв отдельных ключей.
Не коммитьте
.env,.dev.vars,wrangler.jsoncилиpublic/config.js.
О проблемах безопасности сообщайте приватно согласно SECURITY.md, не создавая публичных Issue.
Проверка
npm test
npm run typecheck
npm audit --omit=devВ проекте есть модульные тесты, тесты MCP protocol, Web API, прав доступа, хранилища и UI-контрактов; порог покрытия — lines/functions/statements 80%, branches 75%.
Известные ограничения
Векторный семантический поиск пока не реализован.
Для существующих визитных карточек без изображения интерфейс добавления изображения пока не предусмотрен; для новых данных миниатюра уже обязательна.
Окончательное удаление по умолчанию не открыто; используйте архивацию, чтобы избежать случайного удаления.
Лицензия
Apache-2.0. Подробнее см. 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