MCP Сервера. Статья первая. Context7

от автора

Всех приветствую. В данной статье по установке, настройке и модификации Context7 MCP Server с пошаговой инструкцией по добавлению поддержки VBA мы детально рассмотрим внутренние механизмы. Детально с кодом вы можете ознакомиться в репозитории https://github.com/novator24/_linkedin_mcp0001_context7

🎯 Ключевые моменты

Что такое Context7 MCP Server?

MCP (Model Context Protocol) — открытый стандарт для подключения AI к внешним данным

Context7 — сервер, предоставляющий актуальную документацию библиотек

Интеграция — работает с Cursor, VS Code, Windsurf и другими IDE

Проблема, которую решает Context7

Традиционные AI-ассистенты:

— Устаревшие примеры кода

— Несуществующие API

— Общие ответы для старых версий

Context7:

— Актуальная документация из исходного кода

— Примеры для конкретных версий

— Прямая интеграция через MCP

🛠️ Установка и настройка

Быстрая установка

«`bash

git clone https://github.com/upstash/context7.git

cd context7

bun install

bun run build

bun run dist/index.js

«`

Конфигурация в Cursor

«`json

{

  «mcpServers»: {

    «context7»: {

      «command»: «npx»,

      «args»: [«-y», «@upstash/context7-mcp»]

    }

  }

}

«`

🔧 Добавление поддержки VBA

Пошаговое руководство

1. Создание типов для VBA

«`typescript

export interface VBALibrary {

  id: string;

  name: string;

  description: string;

  officeApp: «Excel» | «Word» | «Access» | «PowerPoint» | «Outlook»;

  apiVersion: string;

  examples: VBAExample[];

}

«`

2. Реализация API

«`typescript

export async function searchVBALibraries(query: string): Promise<VBASearchResponse> {

  // Поиск VBA библиотек через Microsoft API

}

export async function fetchVBADocumentation(libraryId: string): Promise<string | null> {

  // Получение документации VBA

}

«`

3. Добавление инструментов MCP

«`typescript

server.tool(«resolve-vba-library», «Search for VBA libraries», {

  libraryName: z.string(),

  officeApp: z.string().optional(),

}, async ({ libraryName, officeApp }) => {

  // Логика поиска VBA библиотек

});

server.tool(«get-vba-docs», «Fetch VBA documentation», {

  vbaLibraryId: z.string(),

  topic: z.string().optional(),

}, async ({ vbaLibraryId, topic }) => {

  // Логика получения документации

});

«`

4. Тестирование

«`bash

npx -y @modelcontextprotocol/inspector bun run dist/index.js

bun run test-vba.js

«`

📊 Архитектура системы

Основные компоненты

MCP Server (src/index.ts) — регистрация инструментов

API Layer (src/lib/api.ts) — взаимодействие с Context7

Types (src/lib/types.ts) — TypeScript типы

Utils (src/lib/utils.ts) — утилиты форматирования

Транспортные протоколы

1. stdio — стандартный ввод/вывод (по умолчанию)

2. http — HTTP API

3. sse — Server-Sent Events

🎯 Примеры использования VBA

Поиск библиотек

«`bash

resolve-vba-library —libraryName «Excel.Worksheet»

resolve-vba-library —libraryName «Word.Document» —officeApp «Word»

«`

### Получение документации

«`bash

get-vba-docs —vbaLibraryId «/vba/excel-range» —topic «ranges»

get-vba-docs —vbaLibraryId «/vba/excel-chart» —topic «charts»

«`

❓ Часто задаваемые вопросы

Общие вопросы

Q: Что такое MCP?

A: Model Context Protocol — стандарт для подключения AI к внешним данным и инструментам.

Q: Какие IDE поддерживаются?

A: Cursor, VS Code, Windsurf, Claude Desktop, Zed и другие через MCP.

Технические вопросы

Q: Как добавить поддержку нового языка?

A: Создайте типы → Реализуйте API → Добавьте инструменты MCP → Протестируйте.

Q: Как отладить проблемы?

A: Используйте MCP Inspector и включите логирование:

«`bash

DEBUG=true bun run dist/index.js —transport stdio

«`

📚 Полезные ссылки

Официальная документация

— [Model Context Protocol](https://modelcontextprotocol.io/)

— [Context7 Website](https://context7.com)

— [Context7 GitHub](https://github.com/upstash/context7)

VBA Ресурсы

— [Microsoft VBA Documentation](https://docs.microsoft.com/en-us/office/vba/)

— [Excel VBA Reference](https://docs.microsoft.com/en-us/office/vba/api/overview/excel)

— [Word VBA Reference](https://docs.microsoft.com/en-us/office/vba/api/overview/word)

Сообщество

— [Context7 Discord](https://upstash.com/discord)

— [Stack Overflow VBA](https://stackoverflow.com/questions/tagged/vba)

— [Reddit r/vba](https://www.reddit.com/r/vba/)

🎯 Заключение

Context7 MCP Server — мощный инструмент для интеграции актуальной документации в AI-ассистенты. Наш пример с добавлением поддержки VBA демонстрирует гибкость и расширяемость системы.

Ключевые преимущества

— ✅ Актуальность — документация всегда свежая

— ✅ Гибкость — легко добавлять новые языки

— ✅ Производительность — быстрая работа через MCP

— ✅ Безопасность — контролируемый доступ к ресурсам

Если вам понравилась статья или остались вопросы, напишите автору на linkedin — https://linkedin.com/in/basovi

В случае положительных откликов в ближайшее время сделаю обзоры по остальным MCP серверам.


ссылка на оригинал статьи https://habr.com/ru/articles/933678/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *