mcpField
S
scicompute

scicompute

ローカル
github.com/CloudCorpRecords科学・教育01 週間前に更新

scicompute について

scicomputeは、名前付きテンソルを使って行列演算やベクトル演算を行う、ローカル実行の科学計算サーバーです。TypeScriptで実装され、インプロセスのデータストアに加え、CLIとMCPサーバーを備えています。

主な機能

  1. 01インプロセスの名前付きテンソル保存
  2. 02行列の加算・減算・乗算
  3. 03転置・行列式・ランク・逆行列
  4. 04ベクトルの内積・外積・射影
  5. 05CLIとstdio MCPサーバー

活用シーン

  1. 01保存したテンソルを使った行列計算
  2. 02名前付き入力によるベクトル演算
  3. 03ローカル科学計算のMCPクライアントへの公開

MCP 対応

stdio MCPサーバーは、テンソル保存、線形代数、ベクトル演算の14種類のツールを公開します。テンソルデータは1つのMCPセッション内でツール呼び出しをまたいで保持されます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-scicompute": {
"command": "npx",
"args": [
"-y",
"@reneturcios/scicompute"
]
}
}
}
起動コマンドnpx -y @reneturcios/scicompute

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/scicompute0.1.0
ocighcr.io/cloudcorprecords/scicompute:0.1.0

ツール

14

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
namestringはい新しいテンソルの保存名。
shapearrayはいテンソルの次元。正の整数を要素とする空でないリストを指定します。
valuesarrayはい行優先順序の平坦な有限数値リスト。長さは形状の各次元の積と一致する必要があります。

詳細

scicompute

scicompute は、名前付きのプロセス内テンソルストアという1つの アイデアを軸に構築された科学計算サーバーです。名前を付けてテンソルを作成し、 その名前を指定して行列代数やベクトル演算を実行します。すべての計算は純粋な TypeScript でローカルに行われます。 ネットワークも、外部の数学ライブラリも必要ありません。1つのバイナリで、 コマンドラインインターフェースと stdio MCP サーバーの両方を提供します。

このビルドには、ドキュメントに記載されているツールセットのうち、ラベル付きの コアサブセットが含まれています。 テンソルストレージ、線形代数、ベクトル演算(14 ツール)です。 ドキュメントに記載された拡張ツールセットに含まれる固有値分解/SVD/QR 分解、 ベクトル解析ツール、基底変換、プロット機能は含まれていません。 除外項目の全一覧についてはビルドレポートをご覧ください。

インストール

npx @reneturcios/scicompute create-tensor T 2,2 1,2,3,4

または、コンテナイメージを実行します。

docker run -i ghcr.io/cloudcorprecords/scicompute

コンテナはデフォルトで MCP サーバーとして起動します(以下を参照)。 CLI として使うには、CLI 引数を渡してください。

CLI

scicompute create-tensor A 2,2 4,7,2,6
scicompute view-tensor A
scicompute determinant A
scicompute --version

ストアはプロセス内にあるため、CLI を1回実行した場合、テンソルはその実行中のみ保持されます。 複数のテンソルに対する一連の操作は、ストアがツール呼び出しをまたいで保持される1つの MCP セッションで行います。 終了コード:成功時は 0、計算エラー(形状の不一致や特異行列など)の場合は 1、使用方法のエラーの場合は 2 です。

サブコマンド:create-tensor、view-tensor、delete-tensor、 add、subtract、multiply、scale(保存済みの行列を変更しない場合は --no-in-place)、transpose、determinant、rank、 inverse、dot、cross、project、mcp。

MCP サーバー

npx -y @reneturcios/scicompute mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "scicompute": {
      "command": "npx",
      "args": ["-y", "@reneturcios/scicompute", "mcp"]
    }
  }
}
ツール
ツール入力戻り値
create_tensorname、shape、values(すべて必須)保存されたテンソル:名前、形状、フラットな値、入れ子のデータ。values の長さは形状の積と一致する必要があります。
view_tensorname(必須)その名前で保存されているテンソル。
delete_tensorname(必須)テンソルが削除されたことを示す確認。
add_matricesa、b(必須)、result(任意)要素ごとの和の行列。result が指定されている場合は、その名前で保存されます。
subtract_matricesa、b(必須)、result(任意)要素ごとの差の行列。
multiply_matricesa、b(必須)、result(任意)行列積。
scale_matrixname、factor(必須)、in_place(任意)スケーリングされた行列。デフォルトではその場で変更されます。in_place が false の場合、保存済みの行列は変更されません。
transposename(必須)、result(任意)転置された行列。
determinantname(必須)正方行列の行列式。
rankname(必須)行階段形への変換で求めた行列の階数。
matrix_inversename(必須)、result(任意)正則な正方行列の逆行列。
vector_dot_producta、b(必須)保存されている2つのベクトルの内積。
vector_cross_producta、b(必須)保存されている2つの3次元ベクトルの外積。
vector_projecta、b(必須)ベクトル a のベクトル b への射影。

代数演算とベクトル演算のオペランドには、生データではなくテンソル名を指定します。 行列は要素が2つの形状、ベクトルは要素が1つの形状です。形状の不一致、 テンソルの欠落、正方でない行列に対する行列式/逆行列の要求、特異行列の逆行列、 ゼロベクトルへの射影は、いずれも暗黙にゼロを返すのではなくエラーになります。

開発

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network
npm run dev     # run the CLI from source via tsx

ライセンス

MIT — LICENSE をご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。