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