Как стать автором
Поиск
Написать публикацию
Обновить

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

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.3K

Всех приветствую. В данной статье по установке, настройке и модификации 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 серверам.

Теги:
Хабы:
-6
Комментарии3

Публикации

Ближайшие события