Sovereign AI Blog — локальный ИИ на DGX Spark
Поиск по инженерному блогу о локальном ИИ на NVIDIA DGX Spark и проверка конфигурации SGLang
Добавьте сервер в «Мои MCP» — получите адрес подключения для Claude и ChatGPT.
Добавить в «Мои MCP»Нужно войти или зарегистрироваться — вернём на эту страницу.
Описание
Доступ к инженерному блогу о самостоятельном развёртывании ИИ-моделей на NVIDIA DGX Spark. Пригодится тем, кто запускает модели на собственном оборудовании и сталкивается с проблемами настройки. Можно искать статьи по смыслу с фильтром по тегам, просматривать список всех публикаций и тегов, читать статью целиком. Отдельный инструмент проверяет конфигурацию SGLang для DGX Spark на известные ошибки, описанные в блоге, и сообщает о критичных проблемах; проверка выполняется сопоставлением с шаблонами, без запуска модели. Сервер публичный, ключ не нужен.
Инструменты · 5
из ответа tools/list
diagnose_sglang
diagnose_sglang
Validate an SGLang configuration for NVIDIA DGX Spark (GB10/SM121A). Pure pattern-matching against known failure modes documented in the Sovereign AI Blog. No inference, no external calls. Returns critical issues, non-fatal warnings, and a recommended baseline config. All parameters are optional; supply only what you have. With no inputs you get the recommended config and a 'unknown' verdict.
diagnose_sglang(hardware?: string, image_tag?: string, mem_fraction?: number, error_message?: string, attention_backend?: string, cuda_graph_max_bs?: integer)
// inputSchema
{
"type": "object",
"title": "diagnose_sglangArguments",
"properties": {
"hardware": {
"type": "string",
"title": "Hardware",
"default": "",
"description": "Hardware description (e.g. 'GB10', 'DGX Spark', 'SM121A'). Empty = skip GB10-specific rules."
},
"image_tag": {
"type": "string",
"title": "Image Tag",
"default": "",
"description": "Docker image tag in use (e.g. 'lmsysorg/sglang:latest', 'lmsysorg/sglang:v0.4.0'). Empty = skip."
},
"mem_fraction": {
"type": "number",
"title": "Mem Fraction",
"default": 0.0,
"maximum": 1.0,
"minimum": 0.0,
"description": "SGLang --mem-fraction-static value (e.g. 0.88). 0.0 = skip this check."
},
"error_message": {
"type": "string",
"title": "Error Message",
"default": "",
"description": "Paste error log output here for pattern matching against known failure modes."
},
"attention_backend": {
"type": "string",
"title": "Attention Backend",
"default": "",
"description": "SGLang --attention-backend value (e.g. 'flashinfer', 'triton'). Empty string = skip this check."
},
"cuda_graph_max_bs": {
"type": "integer",
"title": "Cuda Graph Max Bs",
"default": 0,
"minimum": 0,
"description": "SGLang --cuda-graph-max-bs value. 0 = skip this check."
}
}
}
get_article
get_article
Retrieve the full content of a blog article by its slug. Returns the article body (Markdown) plus metadata. If the slug does not match any article, returns an Article with `error='article_not_found'` and other fields at their defaults.
get_article(slug: string)
// inputSchema
{
"type": "object",
"title": "get_articleArguments",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"title": "Slug",
"description": "Article slug as returned by search_blog (e.g. 'setup-llm-inference-setup'). Lower-case, hyphenated."
}
}
}
list_articles
list_articles
List all blog articles. No TF-IDF computation — pure database listing. Use to browse the full corpus, paginate through articles, or filter by tag. For full-text semantic search use search_blog instead.
list_articles(tag?: any, sort?: string, limit?: integer, offset?: integer)
// inputSchema
{
"type": "object",
"title": "list_articlesArguments",
"properties": {
"tag": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tag",
"default": null,
"description": "Optional tag filter (e.g. 'setup', 'fixes', 'strategy'). Only articles with this tag are considered. Use list_tags to discover available tags."
},
"sort": {
"enum": [
"date_desc",
"date_asc",
"title_asc",
"quality_desc"
],
"type": "string",
"title": "Sort",
"default": "date_desc",
"description": "Result ordering. 'date_desc' newest first (default). 'date_asc' oldest first. 'title_asc' alphabetical. 'quality_desc' best quality first."
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 20,
"maximum": 50,
"minimum": 1,
"description": "Number of results (1-50)"
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0,
"minimum": 0,
"description": "Pagination offset (0-based)"
}
}
}
list_tags
list_tags
List all topic tags used across the Sovereign AI Blog corpus, with article counts. Use this to browse the topic space before calling search_blog with a tag filter.
list_tags(sort?: string)
// inputSchema
{
"type": "object",
"title": "list_tagsArguments",
"properties": {
"sort": {
"enum": [
"count_desc",
"alpha"
],
"type": "string",
"title": "Sort",
"default": "count_desc",
"description": "Result ordering. 'count_desc' lists most-used tags first (default). 'alpha' sorts alphabetically."
}
}
}
search_blog
search_blog
Search the Sovereign AI Blog for articles matching a natural language query, optionally filtered by tag and sorted by relevance or date. Behaviour matrix: - query='', sort=* -> list newest-first, optionally tag-filtered - query!='', sort=relevance -> TF-IDF ranked, optionally tag-filtered - query!='', sort=date_desc -> TF-IDF filtered (score > 0.001), then sorted by date Pure read-only, deterministic for a given KB snapshot.
search_blog(n?: integer, tag?: any, sort?: string, query?: string)
// inputSchema
{
"type": "object",
"title": "search_blogArguments",
"properties": {
"n": {
"type": "integer",
"title": "N",
"default": 5,
"maximum": 20,
"minimum": 1,
"description": "Maximum number of results to return"
},
"tag": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tag",
"default": null,
"description": "Optional tag filter (e.g. 'setup', 'fixes', 'strategy'). Only articles with this tag are considered. Use list_tags to discover available tags."
},
"sort": {
"enum": [
"relevance",
"date_desc"
],
"type": "string",
"title": "Sort",
"default": "relevance",
"description": "Result ordering. 'relevance' uses TF-IDF score (default for non-empty query). 'date_desc' sorts newest first (default behaviour when query is empty). When query is empty, 'relevance' is treated as 'date_desc'."
},
"query": {
"type": "string",
"title": "Query",
"default": "",
"description": "Natural language search query (e.g. 'flashinfer OOM on GB10'). Multi-word queries are tokenized and TF-IDF ranked. Pass empty string to list articles without ranking by relevance."
}
}
}
Вопросы, новые серверы, обсуждение MCP
t.me/rusmcp · t.me/RusMcp_bot