Sublinear Time Solver MCP
MCP-сервер и CLI решают разреженные линейные системы, считают PageRank и оценивают отдельные значения без полного прохода
- 93 ★ репозитория
- Последний коммит
Минимальный доступ
Почему такой уровень
- Сервер считает локально по переданным данным и не ходит в сеть, не читает файлы проекта сам и не требует ключей.
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add mcp/sublinear-time-solverОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемМинимальный доступИнструмент ничего не запускает и не ходит в сеть.
- Сервер считает локально по переданным данным и не ходит в сеть, не читает файлы проекта сам и не требует ключей.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Sublinear Time Solver решает системы линейных уравнений с разреженной матрицей, считает PageRank и локальный персонализированный PageRank и оценивает один элемент решения. Идея в том, что при малом числе связей у каждой переменной ответ на локальный вопрос иногда находится обходом небольшой окрестности, без расчета всей системы. Матрица передается в формате COO (значение, строка и столбец каждого ненулевого элемента), плотными строками или в виде CSR. MCP-сервер запускается командой `npx -y sublinear-time-solver serve` по stdio. Среди его инструментов `solve` для полного решения, `estimateEntry` для оценки одного значения и `pageRank` для важности узлов графа. Клиент может запросить сведения о сложности инструмента до вызова. Тот же пакет дает CLI с командами `solve`, `analyze` и `pagerank`, а метод выбирается флагом `--method`: например `forward-push`, а для симметричных положительно определенных матриц подходит метод сопряженных градиентов. Для встраивания есть пакет `@ruvnet/sublinear-core` без зависимостей и крейт `sublinear` на Rust.
Для кого. Разработчикам и исследователям, которым агент должен считать разреженные системы, ранжировать узлы графа и проверять невязку решения.
Подходит, если
- Нужно решить `Ax = b` для большой разреженной матрицы, и результат надо получить с проверкой невязки
- Требуется ранжировать страницы, пользователей или код по графу ссылок и получить PageRank с нормированной суммой, равной единице
- Изменилась одна строка системы, и достаточно локального обновления, полный пересчет не нужен
- Агенту нужна оценка одного элемента решения со стандартной ошибкой через `estimateEntry`
- Решатель надо подключить к своему коду: `@ruvnet/sublinear-core` ставится одной командой `npm install`
Не подходит, если
- Матрица плотная или без диагонального преобладания: методы Якоби, Неймана и Гаусса-Зейделя на ней не сходятся
- Нужна общая вычислительная математика, символьные выкладки или работа с таблицами: решатель занимается только линейными системами и графами
- Нужно точное решение маленькой системы: полный расчет там быстрее локального метода
Пример запроса к агенту
Покажи список инструментов решателя, затем реши систему с матрицей 2 на 2 в формате COO и вектором [3, 3] и проверь невязку.MCP
- Транспорт
- stdio
- Авторизация
- не нужна
Ограничения
Локальные методы выгодны, когда у строк мало соседей, диагональные элементы преобладают и изменение остается локальным. Для метода сопряженных градиентов матрица должна быть симметричной и положительно определенной. Полное решение возвращает все значения, и его вывод растет вместе с системой. Установка тянет Node.js и пакет `sublinear-time-solver` примерно на 99 зависимостей, а самое легкое ядро занимает один пакет без зависимостей. Автор предупреждает, что замеры скорости сняты на общей машине и дают лишь ориентир. Версия 1.8 изменила поведение: сошедшийся и несошедшийся результат теперь различается полем `converged`, и ошибка больше не бросается.
Как отключить. Удалите запись `sublinear` из конфигурации MCP клиента или выполните `claude mcp remove sublinear`. Пакеты из npm удаляются командой `npm uninstall`.
Частые вопросы
Как подключить Sublinear Time Solver к Claude Code?
Выполните `claude mcp add sublinear -- npx -y sublinear-time-solver serve`. Для Codex добавьте в `~/.codex/config.toml` раздел `[mcp_servers.sublinear]` с `command = "npx"` и аргументами `-y`, `sublinear-time-solver`, `serve`.
Нужен ли ключ или аккаунт?
Нет. Сервер работает локально по stdio, переменные окружения не нужны. Диагностика идет в stderr, поэтому stdout остается чистым JSON-RPC.
Какие входные форматы матрицы поддерживаются?
COO со значениями, индексами строк и столбцов, плотные строки и матрицы CSR. Дублирующиеся элементы COO суммируются.
Чем `estimateEntry` отличается от `solve`?
`solve` возвращает полный вектор решения, а `estimateEntry` оценивает один элемент случайными блужданиями и дает стандартную ошибку. После однократной проверки матрицы его стоимость не зависит от размера системы.
Можно ли использовать решатель без MCP?
Да. Есть CLI (`npx -y sublinear-time-solver solve --matrix matrix.json --vector vector.json`), библиотека `@ruvnet/sublinear-core` для JavaScript и крейт `sublinear` для Rust.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-сервер с библиотекой типизированных математических операций: агент находит нужную, запускает ее и передает результат дальше
MCP-сервер научных агентов: Claude Code анализирует спектры и снимки, планирует опыты и готовит расчеты DFT
MCP-сервер для поиска и загрузки научных статей из arXiv, PubMed, bioRxiv, Semantic Scholar и других открытых источников
BioMCP
biomcp
Один бинарь и единая грамматика команд к 70 биомедицинским источникам: PubMed, ClinVar, ClinicalTrials.gov, OncoKB. Режим MCP запускается командой serve
MCP-сервер от проекта OpenSearch открывает агенту кластер: индексы, маппинги, поиск по DSL и состояние шардов.
MCP-сервер дает агенту поиск и ответы по локальным документам с гибридным индексом, повторным ранжированием и ссылками на разделы.
Коротко о README
В README описаны три пакета (ядро для JavaScript, MCP с CLI и крейт для Rust), быстрый старт с матрицей 2 на 2, подключение к MCP-клиентам, таблица выбора метода и замеры скорости.