Chip MCP
Project memory, tasks and Telegram notifications for your coding agent. Chip account required.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (13)
- LOWen whoami
- LOWen list_projects
- LOWen get_project_context
- LOWen search_project
- LOWen read_project_file
- LOWen create_project
- LOWen rename_project
- LOWen archive_project
- LOWen save_session_summary
- LOWen add_note
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"chip": {
"url": "https://chip-ai.digital/mcp/"
}
}
}Puntos de conexión remotos
https://chip-ai.digital/mcp/streamable-httpQué puede hacer
Inventario de herramientas
Herramientas (27)
🟢whoami
Тариф, занятость слотов проектов и (на платном тарифе) остатки дневных лимитов. Зови в начале сессии и когда другой тул отказал по лимиту.
Esquema de entrada
{
"type": "object",
"properties": {}
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}🟢list_projects
Проекты пользователя: id, название, последняя активность, открытые поручения. Нужен project_id — сюда; список меняется редко, не перечитывай.
Esquema de entrada
{
"type": "object",
"properties": {}
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}🟢read_journal(project_id, offset)
Журнал проекта дословно, новые сверху: сводки сессий и заметки-вехи. Зови за «что было N сессий назад»; поиск по теме — search_project. offset 0 — свежие, дальше листай по подсказке в конце ответа.
Esquema de entrada
{
"type": "object",
"properties": {
"project_id": {
"type": "integer"
},
"offset": {
"default": 0,
"type": "integer"
}
},
"required": [
"project_id"
]
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}🟢read_project_dialog(project_id, session_id)
Диалог пользователя с Чипом внутри проекта: сводка и последние реплики. Сценарий: надиктовал план с телефона — забери целиком, а не пересказ. Без session_id — самый свежий; id диалогов в get_project_context.
Esquema de entrada
{
"type": "object",
"properties": {
"project_id": {
"type": "integer"
},
"session_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"project_id"
]
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}🟢get_project_map(project_id)
Оглавление карты проекта: полочки-статьи с актуальным знанием, которые Чип ведёт по журналу (не лента). Сама статья — read_map_section.
Esquema de entrada
{
"type": "object",
"properties": {
"project_id": {
"type": "integer"
}
},
"required": [
"project_id"
]
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}🟢read_map_section(project_id, section)
Статья одной полочки карты — актуальное знание по теме («Решения», «Грабли»…). Зови по оглавлению из get_project_context или get_project_map.
Esquema de entrada
{
"type": "object",
"properties": {
"project_id": {
"type": "integer"
},
"section": {
"type": "string"
}
},
"required": [
"project_id",
"section"
]
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}🟢get_project_context(project_id, depth)
Контекст проекта: инструкции, поручения, оглавление карты, память, файлы, диалоги. Зови ОДИН раз, когда берёшься за проект впервые; вернулся в знакомый — whats_new, он дешевле. depth: "brief" (сводки аннотациями, по умолчанию) или "full" (дословно).
Esquema de entrada
{
"type": "object",
"properties": {
"project_id": {
"type": "integer"
},
"depth": {
"default": "",
"type": "string"
}
},
"required": [
"project_id"
]
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}🟢search_project(query, project_id, kind, since)
Поиск по знанию проекта: полочки карты, журнал, память, диалоги. Зови за конкретным фактом или старым решением, которого нет в контексте. Без project_id — по всем проектам сразу. Запрос — 1–3 ключевых слова, не предложение. kind сужает память до вида (decision, pitfall, fact, preference, progress, correction); since (ISO, как курсор) режет старое.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"project_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"kind": {
"default": "",
"type": "string"
},
"since": {
"default": "",
"type": "string"
}
},
"required": [
"query"
]
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}🟢list_files(project_id)
Файлы базы знаний проекта: имя, размер, читаемость. Зови перед read_project_file, если точное имя неизвестно.
Esquema de entrada
{
"type": "object",
"properties": {
"project_id": {
"type": "integer"
}
},
"required": [
"project_id"
]
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}🟢read_project_file(project_id, filename, page)
Текст файла из базы знаний проекта, страницами. Без page у длинного документа придёт оглавление — выбери раздел и позови с page=N; дальше листай по подсказке в конце ответа.
Esquema de entrada
{
"type": "object",
"properties": {
"project_id": {
"type": "integer"
},
"filename": {
"type": "string"
},
"page": {
"default": 0,
"type": "integer"
}
},
"required": [
"project_id",
"filename"
]
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}🟡create_project(name)
Завести проект в Чипе. Зови по просьбе пользователя — или предложи сам, если работаете над задачей без проекта. Название — по сути задачи, до 60 символов.
Esquema de entrada
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
]
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}⚪rename_project(project_id, name)
Переименовать проект (до 60 символов). Только по явной просьбе пользователя.
Esquema de entrada
{
"type": "object",
"properties": {
"project_id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"project_id",
"name"
]
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}🔴archive_project(project_id)
Архивировать проект: уходит из списка, слот освобождается, данные целы. Зови, когда пользователю нужен слот под новый. Вернуть из архива и удалить проект может только он сам, в мини-аппе.
Esquema de entrada
{
"type": "object",
"properties": {
"project_id": {
"type": "integer"
}
},
"required": [
"project_id"
]
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}🟡save_session_summary(project_id, text)
Сводка рабочей сессии — в журнал проекта. Зови В КОНЦЕ сессии или перед долгой паузой, один раз — не дроби. Структура: Сделано → Решения и почему (включая отвергнутые) → Грабли → Осталось. До 6000 символов, на языке пользователя.
Esquema de entrada
{
"type": "object",
"properties": {
"project_id": {
"type": "integer"
},
"text": {
"type": "string"
}
},
"required": [
"project_id",
"text"
]
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}🟡add_note(project_id, text, kind)
Заметка в память проекта (до ~300 символов; грабли и правки — 600). Пиши по ходу: одно наблюдение — одна заметка. kind: decision — сделанный выбор (полочка «Решения»), fact — как устроено, preference — как любит пользователь, progress — что сделано, pitfall — грабли «симптом → причина → лечение» (полочка «Грабли»), correction — «раньше X, теперь Y». Решение пиши формулой «что решали → выбрали X вместо Y, потому что Z»: ✓ «Очередь задач: Redis вместо Kafka — один инстанс, 200 rps». ✗ «Используем Redis» — следующая сессия переспорит то же самое.
Esquema de entrada
{
"type": "object",
"properties": {
"project_id": {
"type": "integer"
},
"text": {
"type": "string"
},
"kind": {
"default": "fact",
"type": "string"
}
},
"required": [
"project_id",
"text"
]
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}🟢whats_new(project_id, since, session)
Изменения в проекте с твоего прошлого захода: журнал, поручения, файлы, полочки карты, диалоги. Зови ПЕРВЫМ, как взялся за проект: в знакомом — только дельта, впервые — сразу полный контекст. Скажет «изменений много» — добери get_project_context. since — из «Курсора» прошлого ответа, session — метка твоей ветки: покажу соседние сессии этого токена.
Esquema de entrada
{
"type": "object",
"properties": {
"project_id": {
"type": "integer"
},
"since": {
"default": "",
"type": "string"
},
"session": {
"default": "",
"type": "string"
}
},
"required": [
"project_id"
]
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}🟢list_tasks(project_id)
Поручения тебе в этом проекте: их ставит пользователь и прошлая сессия (add_task, хвосты «Осталось»). Зови в начале работы и когда ищешь, чем заняться дальше. Сделанное закрывай complete_task — незакрытое всплывёт снова.
Esquema de entrada
{
"type": "object",
"properties": {
"project_id": {
"type": "integer"
}
},
"required": [
"project_id"
]
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}🟢complete_task(task_id, result)
Закрыть поручение из list_tasks: result — что сделано (1–2 фразы, до 500 символов, пользователь прочитает это в Telegram). Зови СРАЗУ по факту, не пачкой в конце. Не закрывай то, за что не брался.
Esquema de entrada
{
"type": "object",
"properties": {
"task_id": {
"type": "string"
},
"result": {
"type": "string"
}
},
"required": [
"task_id",
"result"
]
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}🟡add_task(project_id, text)
Поручение следующей сессии агента: хвост из «Осталось», который не успел сделать. Пользователь видит его в мини-аппе, следующая сессия — в list_tasks.
Esquema de entrada
{
"type": "object",
"properties": {
"project_id": {
"type": "integer"
},
"text": {
"type": "string"
}
},
"required": [
"project_id",
"text"
]
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}🟡notify_me(text, upload_id)
Сообщение пользователю в Telegram: итог долгой задачи («тесты зелёные», «сборка упала»), важное событие. НЕ для болтовни и не для вопросов — вопрос задавай в сессии. До 1000 символов. Показать скриншот, PDF или лог — сначала attach_file, потом сюда upload_id.
Esquema de entrada
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"upload_id": {
"default": "",
"type": "string"
}
},
"required": [
"text"
]
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}🟡set_reminder(text, when)
Напоминание пользователю в Telegram — для отложенных проверок и дедлайнов. when — ISO-время («2026-07-25T10:00»), без пояса = локальное время пользователя. Текст до 200 символов.
Esquema de entrada
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"when": {
"type": "string"
}
},
"required": [
"text",
"when"
]
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}🟢ask_user(question, options)
Спросить пользователя кнопками в Telegram, когда упёрся в развилку, которую решает он сам («какую БД берём?»). НЕ для мелочей, решаемых здравым смыслом. options — 2–4 коротких варианта (по умолчанию Да/Нет). Молчит — вернётся id для check_confirmation.
Esquema de entrada
{
"type": "object",
"properties": {
"question": {
"type": "string"
},
"options": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"question"
]
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}🟢check_confirmation(ask_id)
Забрать ответ пользователя на вопрос ask_user (если тот вернул id). Зови не чаще раза в минуту-другую.
Esquema de entrada
{
"type": "object",
"properties": {
"ask_id": {
"type": "string"
}
},
"required": [
"ask_id"
]
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}🟡upload_project_file(project_id, filename, size_bytes, content)
Выгрузить файл в проект (md, txt, csv, json, pdf, docx, xlsx и др.) — пользователь откроет его с телефона. Зови, когда результат нужен ему в Чипе; код оставляй в репозитории. До ~20k символов — сразу в content, крупнее — укажи size_bytes и загрузи по инструкции из ответа. Картинки — generate_image. ПЛАТНО для многостраничного PDF: оглавление к нему списывает кредиты пользователя.
Esquema de entrada
{
"type": "object",
"properties": {
"project_id": {
"type": "integer"
},
"filename": {
"type": "string"
},
"size_bytes": {
"default": 0,
"type": "integer"
},
"content": {
"default": "",
"type": "string"
}
},
"required": [
"project_id",
"filename"
]
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}🟡finalize_upload(upload_id)
Завершить двухфазную загрузку файла: зови ПОСЛЕ того, как curl из ответа upload_project_file отработал успешно.
Esquema de entrada
{
"type": "object",
"properties": {
"upload_id": {
"type": "string"
}
},
"required": [
"upload_id"
]
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}⚪attach_file(filename, size_bytes)
Вложение для notify_me: скриншот после правки интерфейса, PDF, лог. В проект не сохраняется, живёт до отправки.
Esquema de entrada
{
"type": "object",
"properties": {
"filename": {
"type": "string"
},
"size_bytes": {
"type": "integer"
}
},
"required": [
"filename",
"size_bytes"
]
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}⚪generate_image(prompt, project_id)
Сгенерировать картинку 1024×1024. ПЛАТНО: списывает с баланса пользователя ~3 кредита — зови по его запросу, не «на пробу». С project_id PNG ляжет в файлы проекта, без него — временная ссылка, скачай сразу.
Esquema de entrada
{
"type": "object",
"properties": {
"prompt": {
"type": "string"
},
"project_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"prompt"
]
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}Prompts recomendados
search_projectread_journalread_journallist_projectssearch_projectComunidad
Evidencia