Skip to main content
Glama
tounsils

ask-me

by tounsils

ask-me-mcp

MCP-сервер, выступающий от лица оператора. Спрашивайте Claude / ChatGPT / Grok о работе оператора, паттернах, доступности и предложении — ответы основаны на его публичном резюме, индексе проектов и странице предложения.

Эталонная реализация паттерна MCP-Server Harness. Этот репозиторий — рабочий пример той же архитектуры, которую оператор продаёт как продукт в рамках шестинедельного проекта. Если вам нравится такая форма — это и есть коммерческое предложение; см. Паттерн внизу.

Что он делает

Шесть типизированных инструментов, которые может вызывать любой пользователь ИИ-ассистента:

Инструмент

Что возвращает

get_current_focus

Текущее распределение, активные проекты и основной вертикальный сегмент в работе.

get_engagement_summary

Конкретный проект (NXT Robotics, AIMIA, Hydrostasis, Digital QR Card), описанный на безопасном для публики уровне.

search_reusable_patterns

Поиск по ключевым словам в каталоге из 12+ переиспользуемых инженерных паттернов оператора.

check_availability

Сколько открыто слотов Playbook / Retainer + ближайшая доступная дата.

get_offer_details

Текущее пакетное предложение: MCP-Server Playbook + Fractional CTO Retainer.

book_discovery_call

Инструкции + рекомендации по подготовке к бронированию ознакомительного звонка. Не назначает встречу автоматически. Явно отказывается обсуждать цену.

Каждый ответ сопровождается меткой уверенности и ссылкой на источник. Сервер ничего не выдумывает; если этого нет в опорных данных, сервер этого не говорит.

Related MCP server: Internal Data MCP Server

Установка (для пользователя)

Удалённая конечная точка поддерживает MCP Streamable HTTP + OAuth 2.1. Подключиться можно тремя способами:

1. Claude Desktop — каталог коннекторов (кнопка «Connect»)

Добавьте через интерфейс Claude Desktop: Настройки → Коннекторы → Добавить пользовательский коннектор → URL: https://ask-me-mcp-xi.vercel.app/api/mcp. Нажмите Connect. Десктопный клиент обнаруживает метаданные OAuth, регистрируется как клиент, обменивает токены и подключает инструменты. Ручная настройка не требуется.

2. Claude Desktop / Claude Code — файл конфигурации (без OAuth)

Добавьте в claude_desktop_config.json — расположение зависит от ОС; см. документацию по конфигурации Claude Desktop:

{
  "mcpServers": {
    "ask-me": {
      "url": "https://ask-me-mcp-xi.vercel.app/api/mcp"
    }
  }
}

3. Claude Code CLI

claude mcp add --scope user ask-me https://ask-me-mcp-xi.vercel.app/api/mcp

Локальный stdio (разработка)

Для локальной разработки через stdio (без HTTP, без OAuth — аутентификация к stdio не применяется):

{
  "mcpServers": {
    "ask-me": {
      "command": "node",
      "args": ["/absolute/path/to/ask-me-mcp/dist/src/server.js"]
    }
  }
}

Затем в любой сессии Claude Code:

Какая сейчас основная задача Ильеса? Какие паттерны он сделал для оценки LLM? Доступен ли он для проекта Playbook в октябре?

Разработка (для мейнтейнера)

Требования

  • Node.js 20+

  • npm (или pnpm / yarn — package.json рассчитан в первую очередь на npm)

Настройка

git clone https://github.com/tounsils/ask-me-mcp.git
cd ask-me-mcp
npm install

Запуск локально в качестве stdio-сервера

npm run dev

Подключите Claude Code или MCP Inspector к получившемуся процессу.

Сборка для продакшена

npm run build

Результат — в dist/.

Деплой на Vercel

# Set the JWT signing secret (one-time; required for OAuth).
vercel env add MCP_JWT_SECRET production
# Paste a long random string. Generate one: `openssl rand -base64 48`.

vercel deploy --prod

Обработчик api/mcp.ts реализует транспорт Streamable HTTP с защитой OAuth 2.1 — тот же формат, который используют каталог коннекторов Claude и Apps SDK ChatGPT. Полную архитектуру см. в docs/oauth-flow.md.

Запуск eval-корпуса

npm run eval           # 15 tool cases against handlers directly (no HTTP)
npm run eval:oauth     # 6-step end-to-end OAuth flow (needs MCP_JWT_SECRET)

Корпус инструментов проваливает сборку, если совпадает меньше порогового процента ожидаемых ответов. Либо тест пройден, либо ничего не выходит.

Тест OAuth-потока прогоняет сценарий регистрация → авторизация → токен → защищённый /api/mcp → вызов 401 → обновление токена — всё в одном процессе, на mock-объектах req/res в стиле Vercel.

Структура репозитория

ask-me-mcp/
├── src/
│   ├── server.ts               # shared MCP server (used by both stdio + HTTP)
│   ├── tools/                  # six typed tool implementations
│   │   ├── getCurrentFocus.ts
│   │   ├── getEngagementSummary.ts
│   │   ├── searchReusablePatterns.ts
│   │   ├── checkAvailability.ts
│   │   ├── getOfferDetails.ts
│   │   └── bookDiscoveryCall.ts
│   ├── grounding/
│   │   ├── data.json           # pre-extracted structured facts (v0)
│   │   └── index.ts            # loaders + search helpers
│   └── rails/
│       └── confidence.ts       # confidence + source-citation wrapper; refusal helper
│   └── oauth/                  # OAuth 2.1 + PKCE + anonymous DCR
│       ├── config.ts           # issuer, scopes, TTLs, endpoint paths
│       ├── jwt.ts              # HS256 sign/verify (via `jose`)
│       ├── clientRegistry.ts   # client_id = signed JWT (no DB)
│       └── codeGrant.ts        # auth code + access/refresh token + PKCE S256
├── api/
│   ├── mcp.ts                          # Vercel serverless entry (Streamable HTTP + Bearer auth)
│   ├── health.ts                       # diagnostic (unauthenticated)
│   ├── register.ts                     # RFC 7591 DCR
│   ├── authorize.ts                    # authorization endpoint (auto-approves)
│   ├── token.ts                        # token exchange with PKCE
│   ├── oauth-protected-resource.ts     # RFC 9728 metadata
│   └── oauth-authorization-server.ts   # RFC 8414 metadata
├── eval/
│   ├── corpus.json             # 15 tool cases + expected answers
│   ├── runner.ts               # replays tool corpus, threshold-gated
│   └── oauth-flow.ts           # 6-step OAuth end-to-end test
├── docs/
│   └── oauth-flow.md           # OAuth architecture + how to swap for real user identity
├── package.json
├── tsconfig.json
├── vercel.json
└── README.md

Паттерн: MCP-Server Harness

Этот проект — эталонная реализация паттерна, который оператор поставляет клиентам как продукт в рамках шестинедельного проекта, — MCP-Server Product Playbook.

Как это устроено:

  1. Контракт типизированных инструментов. Шесть инструментов со строгой JSON-schema. Никакого свободного формата. Модель может вызывать только их и только с этими аргументами.

  2. Координатор + специалисты (расширяемо). В v0 есть один координатор (MCP-сервер маршрутизирует вызовы инструментов). В v1 будут добавлены агенты сбора информации и супервизоры внутри более сложных инструментов.

  3. Типизированный вектор сигналов. Структурированные факты, извлечённые из опорных данных. Не свободный текст.

  4. Версионируемая спецификация рассуждений. Реализации инструментов И ЕСТЬ спецификация рассуждений — она версионируется в коде, а не в промпте.

  5. Гардрейлы + уверенность. Каждый ответ содержит confidence + sources + опциональные disclaimers. Модель может их отображать.

  6. Внешние опорные данные. Сервер запрашивает src/grounding/data.json; модель ничего не выдумывает.

  7. Оценочный корпус + раннер + сертификация. В eval/corpus.json — ожидаемые ответы; npm run eval воспроизводит их. Либо выпуск, либо нет.

Если вы создаёте продукт, который подходит под эту структуру (карьерное консультирование, медицинская сортировка, юридический приём, финансовое планирование, коучинг, любые экспертные системы), оператор продаёт шестинедельный проект с фиксированным объёмом работ для его запуска. См. get_offer_details или напишите на tounsils@gmail.com.

Лицензия

MIT. См. LICENSE.

Атрибуция

Создано Ilyes Tounsi · Карлсбад, Калифорния · tounsils.github.io.

Related MCP Connectors

Related MCP Servers