gramax-docportal-mcp
This server provides access to a Gramax documentation portal, allowing you to browse catalogs, search articles, and retrieve content via Claude or other LLMs.
List all documentation catalogs.
Get the navigation tree for a catalog (sections, articles, links).
Search articles with full-text or semantic (vector) search, with filters by catalog, language, resource type, and article properties.
Retrieve the full content of an article in Markdown.
Perform AI-powered search that generates a coherent answer with source links for free-form questions.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@gramax-docportal-mcpSearch for API reference in the NSD catalog"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
gramax-docportal-mcp
MCP-сервер для доступа к порталу документации Gramax. Позволяет искать статьи, получать контент и навигацию через Claude и другие LLM.
Инструменты
Инструмент | Описание |
| Список всех каталогов документации |
| Дерево навигации каталога |
| Поиск по статьям (фильтры по свойствам, языку, семантический поиск) |
| Содержимое статьи в Markdown |
Related MCP server: Dedalus MCP Documentation Server
Установка
uv tool install gramax-docportal-mcpНастройка
Добавьте в .mcp.json:
{
"mcpServers": {
"gramax": {
"command": "uvx",
"args": ["gramax-docportal-mcp"],
"env": {
"GRAMAX_BASE_URL": "https://your-portal.example.com",
"GRAMAX_API_TOKEN": "ваш-api-токен"
}
}
}
}Публичные порталы (без токена)
Если портал публичный (не требует авторизации), GRAMAX_API_TOKEN можно не задавать — сервер работает в анонимном режиме:
{
"mcpServers": {
"gramax": {
"command": "uvx",
"args": ["gramax-docportal-mcp"],
"env": {
"GRAMAX_BASE_URL": "https://your-portal.example.com"
}
}
}
}Получение токена
Если портал защищён, откройте в браузере (будучи залогиненным на портале):
https://your-portal.example.com/api/user/tokenТокен действует 30 дней. Для кастомного срока:
https://your-portal.example.com/api/user/token?expiresAt=2026-12-31Без токена или с истёкшим токеном сервер получит 401 при первом запросе и вернёт русскоязычное сообщение об ошибке.
Переменные окружения
Переменная | Описание | Обязательно |
| URL портала документации | Да |
| API-токен (Bearer); не нужен для публичных порталов | Нет |
| Таймаут AI-поиска в секундах (по умолчанию 120) | Нет |
| Язык статей в индексе для AI-поиска. Значения по умолчанию нет — см. предупреждение ниже | Нет |
| Язык генерируемого ответа AI-поиска (по умолчанию | Нет |
Не задавайте
GRAMAX_AI_ARTICLES_LANGUAGEбез нужды. На некоторых порталах любое непустое значение этого параметра обнуляет выдачу: AI-поиск отвечает «не нашёл информации в предоставленной базе знаний» и не отдаёт ни одного источника, а полнотекстовый поиск возвращает ноль результатов вместо десятков. Поэтому с версии 0.3.3 значения по умолчанию у переменной нет и параметр не уходит на портал, пока его не задали явно. Задавайте его, только если ваш портал действительно требует фильтра по языку статей, и проверьте выдачу до и после.GRAMAX_AI_RESPONSE_LANGUAGEбезвреден.
Расширенный поиск
gramax_search поддерживает дополнительные параметры для точной фильтрации:
Параметр | Описание |
| Ограничить поиск одним каталогом |
|
|
| Язык статей: |
|
|
| Фильтр по свойствам статей (Продукт, Сегмент, Отрасль и др.) |
Примеры property_filter
{"op": "eq", "key": "Продукт", "value": "NSD"}
{"op": "contains", "key": "Сегмент", "list": ["Enterprise", "SMB"]}
{"op": "and", "filters": [
{"op": "eq", "key": "Тип контента", "value": "Кейс"},
{"op": "eq", "key": "Отрасль", "value": "Логистика"}
]}В результатах поиска отображаются метаданные статей (🏷️) и рекомендованные результаты (⭐).
Лицензия
MIT
Available Tools
5 toolsgramax_ai_searchA
AI-поиск по документации Gramax: связный ответ с ссылками на источники.
Использовать для вопросов в свободной форме, когда нужен сгенерированный ответ, а не список релевантных статей. Для списка результатов — gramax_search.
Args: query: Вопрос на естественном языке. catalog_name: Имя каталога для контекста (без него — по всем). articles_language: Язык статей в индексе ("ru", "en", ...). По умолчанию не задаётся: на некоторых порталах непустое значение обнуляет выдачу. Задать явно или через GRAMAX_AI_ARTICLES_LANGUAGE, если портал этого требует. response_language: Язык генерируемого ответа. По умолчанию — из GRAMAX_AI_RESPONSE_LANGUAGE (ru). current_article: ID текущей статьи как контекст ("catalog_id/path").
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| catalog_name | No | ||
| current_article | No | ||
| articles_language | No | ||
| response_language | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose meaningful behavior: the output is a generated answer with source links, plus the important quirk that a non-empty articles_language can zero out results on some portals and that defaults come from environment variables. It does not discuss permissions or rate limits, but for a read-only search tool these are minor omissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads purpose and routing guidance, then documents arguments compactly. Every sentence earns its place, and given the 0% schema coverage the argument listing is necessary rather than filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return format needn't be detailed, yet the description still gives the essential output nature (generated answer with sources). All five parameters are documented, alternatives are named, and no annotation-derived gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must fully document the five parameters, which it does. Each argument is explained with meaning and defaults, including the critical articles_language behavior, the env-var fallbacks, and the 'catalog_id/path' format for current_article.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('AI-поиск по документации Gramax') and explicitly says the output is a 'связный ответ с ссылками на источники'. It also directly distinguishes itself from the sibling gramax_search by contrasting generated answers with a list of articles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use it ('для вопросов в свободной форме, когда нужен сгенерированный ответ') and names the alternative with its condition ('Для списка результатов — gramax_search'). This leaves no ambiguity about tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gramax_get_articleA
Получить содержимое статьи в формате Markdown.
Args: catalog_id: ID каталога article_id: ID статьи (получить через gramax_get_navigation или gramax_search)
| Name | Required | Description | Default |
|---|---|---|---|
| article_id | Yes | ||
| catalog_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the behavioral disclosure burden. It does disclose that the output is Markdown and the verb 'get' implies a non-mutating read operation. It does not discuss errors, permissions, or edge cases, but for a simple retrieval tool this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and free of filler. The Args list is clear and the article_id provenance hint is valuable. It could be slightly more structured, but every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists and the input schema is simple, the description covers the necessary calling context: both required parameters and where to get article_id. It does not explicitly state when to use this over siblings, but the tool's purpose is clear enough for straightforward invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no parameter descriptions, so the Args section in the description is the only documentation. It adds basic meaning: catalog_id is a catalog ID and article_id is an article ID obtainable from navigation/search. This is helpful but shallow, with no format, length, or constraint details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific operation: retrieve article content in Markdown. This distinguishes it from sibling tools like gramax_get_navigation or gramax_search, which find or navigate rather than fetch full content. It could name an alternative explicitly, but the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a useful usage cue: article_id should be obtained via gramax_get_navigation or gramax_search. This implies a sequence but does not explicitly explain when to choose this tool over alternatives or when not to use it. The guidance is present but mostly implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gramax_list_catalogsA
Получить список всех каталогов документации на портале Gramax.
Возвращает таблицу с названиями и ID каталогов.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It states that the tool returns a table with catalog names and IDs, which is useful, but it does not mention pagination, authentication, rate limits, or side-effect characteristics. For a zero-parameter read-only listing, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with the action and result front-loaded. It contains no filler, no repetition of schema details, and every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter listing tool with an output schema, the description is complete: it specifies the scope (all documentation catalogs) and the return content (names and IDs). Nothing essential is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is fully covered at 100%, so there is no parameter semantics gap. With zero parameters, the baseline is 4, and the description does not need to add anything.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Получить список всех каталогов документации на портале Gramax' (get a list of all documentation catalogs on the Gramax portal). It is clearly distinct from sibling tools like search, navigation, and article retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance about when to use this tool versus the sibling tools. It does not mention conditions, alternatives, or prerequisites, leaving the agent to infer that this is simply the tool for listing catalogs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gramax_searchA
Поиск по статьям документации Gramax.
Args: query: Поисковый запрос (авто-раскладка RU/EN и транслитерация) catalog_name: Имя каталога для поиска (без него — поиск по всем каталогам) search_type: Тип поиска — "vector" для семантического, без значения — полнотекстовый language: Язык статей: "ru", "en", "es", "zh", "fr", "de", "ja" и др. ВНИМАНИЕ: на некоторых порталах непустое значение обнуляет выдачу (уходит как articlesLanguage). По умолчанию не задавать. resource_filter: Фильтр ресурсов: "without" — только статьи, "only" — только файлы, "with" — всё (по умолчанию) property_filter: Фильтр по свойствам статей. Примеры: {"op": "eq", "key": "Продукт", "value": "NSD"} {"op": "contains", "key": "Сегмент", "list": ["Enterprise", "SMB"]} {"op": "and", "filters": [ {"op": "eq", "key": "Тип контента", "value": "Кейс"}, {"op": "eq", "key": "Отрасль", "value": "Логистика"} ]}
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| language | No | ||
| search_type | No | ||
| catalog_name | No | ||
| property_filter | No | ||
| resource_filter | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does so well: it warns that a non-empty language value can zero out results on some portals (passed as articlesLanguage) and explains the vector vs full-text search modes. It does not cover permissions or rate limits, but the portal-specific gotcha is exactly the kind of non-obvious behavior an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose line is front-loaded and the Args block is structured per-parameter with zero filler. It is slightly verbose due to multi-line examples, but each line conveys parameter meaning that would otherwise be missing given 0% schema coverage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description covers the six input parameters plus a critical portal quirk. The main remaining gap is routing relative to the sibling search/get tools, which leaves the agent to infer selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it largely does: it documents all six parameters, gives defaults, lists accepted language codes, explains the three resource_filter modes, and supplies three concrete property_filter examples with op/key/value/list syntax. This is strong compensation, though query syntax details remain thin.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening line states a specific verb+resource (search across Gramax documentation articles), which is clear and actionable. However, it gives no differentiation from the sibling gramax_ai_search, which an agent could easily confuse with this tool. Clear purpose, but sibling disambiguation is absent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parameter notes imply usage contexts (omit catalog_name to search everything, use search_type='vector' for semantic search), which is helpful. But there is no explicit statement of when to prefer this over gramax_ai_search or gramax_get_article, and no when-not guidance. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v0.3.2- First observed
gramax_ai_search - First observed
gramax_get_article - First observed
gramax_get_navigation - First observed
gramax_list_catalogs - First observed
gramax_search
TDQS
Scored across 5 tools
gramax_search and gramax_ai_search have overlapping purposes (both search documentation), though descriptions clarify the difference between list results and generated answers. Other tools are distinct, but the search overlap is a notable ambiguity.
All tools follow a consistent gramax_verb_noun pattern (e.g., gramax_get_navigation, gramax_list_catalogs, gramax_search). The prefix is uniform and verbs are predictable.
5 tools for a documentation portal is well-scoped: navigation, listing, search, AI search, and article retrieval cover common needs without bloat.
Core lifecycle for documentation access is covered: list catalogs, get navigation, search, and retrieve articles. However, there is no tool to create, update, or delete content, which might be expected in a full docportal MCP, but the surface is sufficient for read-only use.
Maintenance
Related MCP Connectors
MCP server for querying Forkast documentation
MCP server for innovationlab documentation, generated by doc2mcp.
MCP server for opencode documentation, generated by doc2mcp.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceGeneric MCP server that exposes Markdown documentation to LLMs, enabling them to search and answer questions about any software documentation.MIT
- AlicenseAqualityDmaintenanceAn MCP server that serves documentation and enables AI-powered search, Q\&A, and document analysis for developer tools and guides.54MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that provides semantic search, graph query, and keyword search tools for interacting with DocSmith's knowledge graph and documentation.1MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for documentation search that automatically indexes web documentation sites and provides semantic, full-text, or hybrid search capabilities.2 npmMIT