Skip to main content
Glama
ask-me

ask-me

by tounsils

ask-me-mcp

Un servidor MCP de persona. Pregúntale a Claude / ChatGPT / Grok sobre el trabajo, los patrones, la disponibilidad y la oferta del operador, con base en su currículum público, índice de proyectos y página de oferta.

Implementación de referencia del patrón MCP-Server Harness. Este repositorio es un ejemplo funcional de la misma arquitectura que el operador vende como un compromiso productizado de 6 semanas. Si te gusta la forma, ese es el argumento de venta — consulta El patrón al final.

Qué hace

Seis herramientas tipadas que cualquier usuario de asistentes de IA puede invocar:

Herramienta

Qué devuelve

get_current_focus

Asignación actual, compromisos activos y la cuña vertical principal en curso.

get_engagement_summary

Un compromiso específico (NXT Robotics, AIMIA, Hydrostasis, Digital QR Card) descrito a un nivel apto para el público.

search_reusable_patterns

Búsqueda por palabras clave en el catálogo de más de 12 patrones de ingeniería reutilizables del operador.

check_availability

Cuántos espacios de Playbook / Retainer están abiertos + la fecha más temprana de la siguiente apertura.

get_offer_details

Oferta combinada actual: MCP-Server Playbook + Fractional CTO Retainer.

book_discovery_call

Instrucciones + guía de preparación para reservar una llamada de descubrimiento. No agenda automáticamente. Se niega explícitamente a negociar el precio.

Cada respuesta incluye una etiqueta de confianza y una cita de la fuente. El servidor nunca inventa; si los datos de base no lo dicen, el servidor no lo dice.

Related MCP server: Internal Data MCP Server

Instalar (como usuario)

El endpoint remoto utiliza MCP Streamable HTTP + OAuth 2.1. Hay tres formas de conectarse:

1. Claude Desktop — directorio de conectores (botón "Connect")

Añádelo desde la interfaz de Claude Desktop: Settings → Connectors → Add custom connector → URL: https://ask-me-mcp-xi.vercel.app/api/mcp. Haz clic en Connect. El cliente de escritorio descubre los metadatos de OAuth, se registra como cliente, intercambia tokens y monta las herramientas. No requiere configuración manual.

2. Claude Desktop / Claude Code — archivo de configuración (omitir OAuth)

Añádelo a claude_desktop_config.json — la ubicación varía según el sistema operativo; consulta la documentación de configuración de 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 local

Para desarrollo stdio local (sin HTTP, sin OAuth — la autenticación no se aplica a stdio):

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

Luego, en cualquier sesión de Claude Code:

¿cuál es el enfoque actual de Ilyes? ¿qué patrones ha publicado para la evaluación de LLM? ¿está disponible para un compromiso Playbook en octubre?

Desarrollar (como mantenedor)

Requisitos

  • Node.js 20+

  • npm (o pnpm / yarn — package.json prioriza npm)

Configuración

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

Ejecutar localmente como servidor stdio

npm run dev

Apunta Claude Code o el MCP Inspector al proceso resultante.

Compilar para producción

npm run build

La salida se genera en dist/.

Desplegar en 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

El manejador api/mcp.ts sirve el transporte Streamable HTTP con protección OAuth 2.1 — el formato que usan tanto el directorio de conectores de Claude como el SDK de Apps de ChatGPT. Consulta docs/oauth-flow.md para ver la arquitectura completa.

Ejecutar el corpus de evaluación

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)

El corpus de herramientas hace fallar la compilación si menos de un porcentaje umbral de respuestas esperadas coinciden. Aprueba o no se publica nada.

La prueba del flujo OAuth recorre registrar → autorizar → token → /api/mcp protegido → desafío 401 → refresco — todo en el mismo proceso contra objetos mock de req/res con forma de Vercel.

Estructura del repositorio

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

El patrón: MCP-Server Harness

Este proyecto es una implementación de referencia de un patrón que el operador entrega a los clientes como un compromiso productizado de 6 semanas: el MCP-Server Product Playbook.

La forma:

  1. Contrato de herramientas tipadas. Seis herramientas estrictas con JSON Schema. Nada de formato libre. El modelo solo puede invocar estas, solo con estos argumentos.

  2. Coordinador + especialistas (extensible). v0 tiene un coordinador (el servidor MCP enruta las llamadas a las herramientas). v1 añadirá agentes de elicitación + supervisión dentro de herramientas más complejas.

  3. Vector de señales tipado. Hechos estructurados extraídos de los datos de base. No texto libre.

  4. Especificación de razonamiento versionada. Las implementaciones de las herramientas SON la especificación de razonamiento — versionada en el código, no en un prompt.

  5. Rieles + confianza. Cada respuesta incluye confidence + sources + disclaimers opcionales. El modelo puede mostrarlos.

  6. Fundamentación externa. El servidor consulta src/grounding/data.json; el modelo nunca inventa.

  7. Corpus de evaluación + ejecutor de evaluación + certificación. eval/corpus.json contiene las respuestas esperadas; npm run eval las reproduce. O se publica o no.

Si estás construyendo un producto que encaja con esta forma (orientación profesional, triaje médico, admisión legal, planificación financiera, coaching, cualquier cosa de sistemas expertos), el operador vende un compromiso de alcance fijo de 6 semanas para lanzarlo. Consulta get_offer_details o escribe a tounsils@gmail.com.

Licencia

MIT. Consulta LICENSE.

Atribución

Construido por Ilyes Tounsi · Carlsbad, CA · tounsils.github.io.

Related MCP Connectors

Related MCP Servers