Forge
markdown54977619
1# AIGuiders.McpToolManifest
2
3Библиотека для **per-MCP** файла `mcp-tools.manifest.json`: загрузка JSON, проверка структуры (`schema_version`, `mcp_id`, уникальные `tools[].name`), сравнение имён манифеста с рантайм-каталогом тулов.
4
5Без зависимости от MCP SDK — только `System.Text.Json`.
6
7## Установка
8
9```bash
10dotnet add package AIGuiders.McpToolManifest
11```
12
13**Ссылки:** [NuGet.org](https://www.nuget.org/packages/AIGuiders.McpToolManifest) · [Исходники](https://github.com/KarataevDmitry/mcp-tool-manifest) · [MIT](LICENSE).
14
15## Пример
16
17```csharp
18using McpToolManifest;
19
20var doc = McpToolManifestReader.Load("mcp-tools.manifest.json");
21var errors = McpToolManifestReader.Validate(doc);
22if (errors.Count > 0)
23 throw new InvalidOperationException(string.Join(Environment.NewLine, errors));
24
25var diff = ToolCatalogNameComparer.Compare(
26 doc.Tools.Select(t => t.Name),
27 catalogToolNames);
28```
29
30## Формат JSON
31
32- `schema_version` — сейчас `1`
33- `mcp_id` — стабильный id сервера (например `agent-notes-mcp`)
34- `tools[]` — `{ "name", "description?" }`
35
36Генерация манифеста из `ToolCatalog` в конкретном MCP — отдельный проект `ExportMcpManifest` в репозитории сервера; эта библиотека только читает и валидирует.
37
View only · write via MCP/CIDE