Cerebro de compañía
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Cerebro de compañíaguarda todo en el cerebro"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Winterbrain
Company brain para una firma de venture capital y business builder. Convierte reuniones, briefs, decks y conversaciones ejecutivas en conocimiento reutilizable que cualquier C-level puede consultar desde Claude o Codex.
Que es hoy
Un gateway MCP que guarda el conocimiento del equipo en archivos Markdown estructurados dentro de un cerebro versionable. MarkItDown ya esta integrado para que PDFs, DOCX, PPTX y XLSX se conviertan automaticamente a Markdown cuando Sergio o Mariana suben una carpeta de cliente.
Related MCP server: MCP Memory Server
Que valor da hoy
Una conversacion ejecutiva ya no se pierde en el chat de una persona. Cualquiera del equipo puede decir "guarda esto en el cerebro" y queda persistido.
Una carpeta completa de un cliente (reuniones + briefs + decks) se sube en una sola frase y queda convertida a Markdown buscable.
Las notas ejecutivas quedan con autor, cliente, fecha, tipo y tags, listas para ser consultadas despues.
Mariana puede preguntarle a Claude "que subio Sergio sobre Cliente X" y el cerebro devuelve el Markdown correspondiente con score.
Que valor falta (honesto)
La busqueda es por keywords todavia. No hay embeddings.
El gateway corre stdio MCP. Falta HTTP para que los C-levels se conecten sin instalar nada.
La extraccion de resumen, riesgos, decisiones y aprendizajes es manual. Falta el extractor LLM.
No hay permisos. Por ahora todos ven todo, por diseno de MVP.
Quick start
Para el equipo tecnico
npm install
npm run build
npm startDesarrollo:
npm run devPara el equipo ejecutivo
Los C-levels (CEO, CFO, Mariana, Sergio, Don Dario) no tocan codigo. Pegan esto en Claude o Codex:
Retrieve and follow the instructions at:
https://raw.githubusercontent.com/cquiroz6211/winterbrain/main/INSTALL_FOR_USERS.mdEl agente del usuario se autoinstala el MCP. Guia humana:
docs/QUICKSTART.md— pasos en lenguaje humano, sin tecnicismos.INSTALL_FOR_USERS.md— instrucciones que sigue el agente del usuario.
Como se usa una vez conectado
Desde Claude o Codex, hablando en espanol:
Guarda esta conversacion en el cerebro como nota.
Crea esto como resumen de reunion y subelo al cerebro.
Sube la carpeta "C:\Users\...\Cliente X" al cerebro para cliente-x.
Que aprendimos del inversionista de cliente-x?
Que debemos priorizar en Cliente X segun la reunion que subio Sergio?
Preparame un brief del inversionista Y antes de la reunion.
Que funciono y que no funciono en los ultimos clientes?Herramientas MCP
Tool | Que hace hoy | Que falta |
| Guarda una nota ejecutiva con autor, cliente, tipo, tags | Solo Markdown plano |
| Guarda resumen de una conversacion con participantes y next actions | Solo Markdown plano |
| Guarda una reunion a partir de texto o Markdown | No extrae resumen automatico |
| Sube una carpeta entera. PDFs/DOCX/PPTX/XLSX se convierten con MarkItDown a Markdown | No genera notas estructuradas todavia |
| Busca por keywords en el Markdown del cerebro | Embeddings y respuesta sintetizada |
Arquitectura
Claude / Codex / OpenCode
| stdio MCP
v
Gateway Winterbrain (este repo)
|- save_note / save_chat_summary / ingest_meeting / ingest_folder / ask_brain
|- MarkItDown oficial (Python venv) para PDF/DOCX/PPTX/XLSX
|
v
brain/
raw/ <- archivos originales tal como llegaron
markdown/ <- versiones normalizadas por MarkItDown
knowledge/
meetings/ <- reuniones procesadas
chats/ <- resumenes de conversaciones
decisions/ <- notas ejecutivas y decisionesEl Markdown es la fuente de verdad. Es legible, commiteable, buscable con grep y portable. Si manana agregamos un vector store o un knowledge graph, Markdown sigue siendo la base.
Estado del proyecto
Fase | Descripcion | Estado |
0 | Bootstrap del repo, scaffold MCP, plantillas, docs | hecho |
1 | Despliegue en Dokploy via Docker | en curso |
2 | Gateway HTTP MCP con autenticacion por token | siguiente critico |
3 | MarkItDown oficial para ingesta de PDFs/DOCX/PPTX/XLSX | hecho (Fase 3 adelantada) |
4 | Extraccion LLM (resumen, decisiones, riesgos, aprendizajes) | pendiente |
5 | Backend de embeddings y busqueda semantica | pendiente |
6 | Validacion con preguntas reales del equipo ejecutivo | pendiente |
7 | Adopcion C-level (onboarding 1-a-1) | pendiente |
8 | Modelo de acceso y permisos | pendiente |
9 | Integraciones externas (Drive, Notion, Granola, Slack) | pendiente |
10 | Productos derivados (wiki navegable, briefs automaticos) | pendiente |
Roadmap completo con dependencias, riesgos y decisiones: ROADMAP.md.
Deploy
Dokploy
docs/DEPLOY_DOKPLOY.md describe el despliegue paso a paso. Resumen:
git clone https://github.com/cquiroz6211/winterbrain.git
cd winterbrain
docker compose up --build -dEl contenedor expone /app/brain como volumen persistente y tiene MarkItDown oficial dentro del venv /opt/markitdown-venv.
Validacion local
docker volume create winterbrain-data
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"probe","version":"0.0.1"}}}
{"jsonrpc":"2.0","method":"notifications/initialized"}
{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}' \
| docker run --rm -i -v winterbrain-data:/app/brain winterbrain:localDebe listar las cinco herramientas.
Regla de acceso
En el MVP todos pueden ver todo. Los permisos por cliente, startup, inversionista o rol son trabajo futuro (Fase 8). Esto es una decision consciente: primero validamos que el flujo de captura y consulta genera valor; despues segmentamos.
Estructura del repo
winterbrain/
README.md este archivo
ROADMAP.md fases, dependencias, riesgos, decisiones
INSTALL_FOR_USERS.md instrucciones para el agente del usuario
Dockerfile imagen multi-stage con MarkItDown oficial
docker-compose.yml para Dokploy y local
package.json gateway TypeScript
tsconfig.json
src/
server.ts MCP server con 5 tools
paths.ts filesystem, ingestFolder, MarkItDown wrapper
markdown.ts helpers de frontmatter y Markdown
types/markitdown.d.ts declaraciones de tipos legacy
docs/
ARCHITECTURE.md
OPERATING_MODEL.md
INGESTION_PIPELINE.md
MCP_TOOLS.md
QUICKSTART.md
DEPLOY_DOKPLOY.md
templates/
meeting-note.md
chat-summary.md
decision-record.md
fixtures/ datos de prueba (no se commitean)
brain/
raw/ insumos originales
markdown/ versiones normalizadas
knowledge/
meetings/ reuniones procesadas
chats/ resumenes de conversaciones
decisions/ notas ejecutivas y decisionesHacia donde vamos
Corto plazo (esta semana). Desplegar en Dokploy y cargar la primera reunion real con un cliente conocido. Validar que el ciclo completo (subir carpeta -> convertir a Markdown -> preguntar -> recibir respuesta) funciona para Sergio y Mariana.
Mediano plazo (2-4 semanas). Extraccion LLM para que cada Markdown genere notas estructuradas (resumen ejecutivo, decisiones, riesgos, aprendizajes). Backend de embeddings para busqueda semantica.
Largo plazo (1-3 meses). Gateway HTTP MCP para que cualquier C-level se conecte sin instalar nada. Permisos por cliente/rol. Integraciones con Drive, Notion, Granola. Wiki navegable del cerebro.
El roadmap completo con dependencias, riesgos y bitacora de decisiones vive en ROADMAP.md.
Available Tools
4 toolsask_brainAsk Company BrainC
Ask a business question over local Markdown knowledge. Placeholder until GBrain retrieval is wired.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| limit | No | ||
| client | No | ||
| question | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must disclose behavioral traits. It minimally states it queries local Markdown knowledge but omits details on return format, pagination, error handling, or what happens if the query fails. The placeholder note undermines trust in its current behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short with two sentences. The first sentence is concise and front-loaded, but the second sentence (placeholder note) is not directly useful for tool selection, slightly reducing efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema, annotations, and parameter descriptions, the description is severely incomplete. It does not explain return values, limitations, or usage examples, leaving the agent with insufficient information to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description does not explain any of the 4 parameters. It mentions 'question' implicitly but provides no context for 'tags', 'limit', or 'client', leaving the agent without guidance on how to set them meaningfully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Ask a business question over local Markdown knowledge,' specifying the verb and resource, which differentiates it from sibling tools (ingestion/saving operations). However, the 'Placeholder until GBrain retrieval is wired' caveat slightly reduces clarity as it indicates the tool is temporary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not indicate when to use this tool versus alternatives, nor does it specify any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ingest_meetingIngest MeetingC
Save a meeting record or transcript that is already available as text or Markdown.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| title | Yes | ||
| client | No | ||
| source | No | ||
| content | Yes | ||
| uploadedBy | No | ||
| meetingDate | No | ||
| participants | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description fails to disclose any behavioral traits such as whether it overwrites existing records, handles duplicates, or requires authentication. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded and contains no redundant information. It earns its place by being minimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters, no output schema, and no annotations, the description is far from complete. It does not explain required parameters, return behavior, or provide any usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 8 parameters with 0% coverage in the schema description. The description adds no meaning beyond the parameter names; for example, it does not explain 'client', 'source', 'uploadedBy', or 'meetingDate'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool saves meeting records/transcripts from text or Markdown, with a specific verb and resource. It differentiates from sibling tools like ask_brain (query) and save_note (generic note).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like save_chat_summary or save_note. The description only states what it does, not when to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_chat_summarySave Chat SummaryC
Save a useful business conversation summary to the company brain.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| title | Yes | ||
| client | No | ||
| source | No | ||
| summary | Yes | ||
| nextActions | No | ||
| participants | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description fails to disclose any behavioral traits such as idempotency, side effects, permissions, or what happens on duplicate saves. With no annotation support, the description is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise but lacks structure. It is front-loaded but provides no additional details or formatting, making it adequate but not optimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters, no output schema, and no annotations, the description is severely incomplete. It does not explain return values, behavior on required fields, or how parameters relate, leaving agents with insufficient context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage, and the description adds no parameter information. It does not explain the meaning or usage of tags, client, source, nextActions, participants, leaving agents to guess.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action (save), resource (business conversation summary), and destination (company brain). It distinguishes from siblings like ask_brain (query), ingest_meeting (meeting), and save_note (generic).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus siblings. Does not mention context, prerequisites, or exclusions. The description only states what it does, not when to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_noteSave Business NoteC
Save a business note, learning, investment insight, product note, client note, or decision to the company brain.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| kind | No | client_note | |
| tags | No | ||
| title | Yes | ||
| author | No | ||
| client | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior fully. It only states the save action, omitting details on idempotency, side effects, authorization, or response format. This is insufficient for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the action. However, it sacrifices essential detail for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and 6 parameters (2 required), the description is severely incomplete. It lacks information on required inputs, constraints, return values, and behavioral context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must add meaning. It lists note types aligning with the kind enum but fails to explain other parameters like body, title, tags, author, and client. Only partial semantic value for one parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool saves various types of notes to the company brain, listing examples that match the kind enum. It implicitly differentiates from siblings like ask_brain (query) and ingest_meeting (process meeting) through the verb 'save', but does not explicitly contrast them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like ask_brain, ingest_meeting, or save_chat_summary. The description only states what the tool does, without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
v0.1.0- First observed
ask_brain - First observed
ingest_meeting - First observed
save_chat_summary - First observed
save_note
TDQS
Scored across 4 tools
Each tool targets a distinct action: querying the brain, saving meetings, saving chat summaries, and saving general notes. Some potential overlap between save_chat_summary and save_note, but descriptions clarify the intended use.
All tools follow a consistent verb_noun pattern (ask_brain, ingest_meeting, save_chat_summary, save_note) using snake_case, making the naming predictable and clear.
Four tools cover the core operations for a company knowledge brain: querying and saving different content types (meetings, chat summaries, notes). The count is well-scoped for this domain.
The set covers adding knowledge and querying (though ask_brain is a placeholder), but lacks update or delete operations. For a knowledge base, this leaves notable gaps in lifecycle management.
Maintenance
Related MCP Connectors
Your AI's memory for what you actually know: recall across your documents, notes, and meetings
Connect your team's living knowledge base — docs, data, issues, CRM — to Claude and ChatGPT.
Extract structured insights from videos, podcasts, articles, and PDFs with multi-model AI
Shared memory for coding agents. Stop re-explaining your codebase every session.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAutomatically extracts technical concepts from AI coding conversations, organizes them into a searchable knowledge base with hierarchy and categories, and links them to specific locations in your codebase.-
- AlicenseNot gradedqualityDmaintenanceProvides long-term memory for AI coding agents, enabling them to remember, search, and organize information across sessions and platforms like Claude Code, ChatGPT, and Cursor.21 npm8MIT
- AlicenseBqualityDmaintenanceProvides a durable memory layer for coding agents like Claude Code and Codex by indexing codebases and enabling RAG queries, reducing rediscovery tokens and providing senior-engineer orientation.23MIT
- AlicenseNot gradedqualityFmaintenanceConnects AI assistants like Claude Code and Codex to a team's shared knowledge graph for searching, storing, and managing documents.10 npmMIT