mcpField
S
Softwiro Excel templates and calculators

Softwiro Excel templates and calculators

リモート
softwiro.comデータ・分析01 日前に更新
リポジトリ公式サイト

Softwiro Excel templates and calculators について

Softwiro MCPは、67種類の無料Excelテンプレートの数式で計算し、23種類の計算ツールを実行するAIアシスタント向けのホスト型サービスです。ステートレスで、APIキーは不要であり、リクエスト内容を保存しません。

主な機能

  1. 0167種類のExcelテンプレート検索
  2. 02テンプレートのスキーマと入力項目確認
  3. 03テンプレート数式による計算
  4. 0423種類の計算ツール実行
  5. 05テンプレートのダウンロードリンク取得
  6. 06インタラクティブな結果画面

活用シーン

  1. 01Excelテンプレートで業務データを計算
  2. 02VATや損益分岐点の算出
  3. 03BMI、カロリー、出産予定日の推定
  4. 04金価格や関連指標の確認

MCP 対応

ホスト型のStreamable HTTP MCPエンドポイントで、テンプレート検索、スキーマ確認、計算、ダウンロードリンク取得、計算ツール実行の6つのツールを公開します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://softwiro.com/api/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

Softwiro MCP

AI アシスタントが数値を推測する代わりに、67 種類の無料アラビア語 Excel テンプレート内で計算し、23 種類の簡易計算ツール(VAT、BMI、出産予定日、金のザカートなど)を実行できるMCPサーバーです。結果はテンプレート独自の数式と計算ツール独自のコードに基づいています。ステートレスで、API キーは不要で、データは保存されません。

アシスタントに、明示的にこのサーバーを使うよう指示してください(「softwiro MCP を使い、自分で計算しないでください」)。そうしないと、アシスタントが頭の中で計算し、ツールを呼び出さないことがあります。

接続

以下の手順は各アプリの公式ドキュメントに沿っています。メニューはプランやバージョンによって異なる場合があります。

Claude Code

claude mcp add --transport http softwiro https://softwiro.com/api/mcp

Claude(ウェブ/デスクトップ): Customize → Connectors → + Add → Add custom connector を選択し、名前に softwiro、URL に上記の URL を指定します。

ChatGPT: Plugins → + → Add custom MCP server を選択し、名前に softwiro、URL に上記の URL を指定して、認証で No authentication を選択します。カスタム MCP サーバーの利用には、対応するプランまたはワークスペース設定が必要な場合があります。

Cursor(.cursor/mcp.json):

{ "mcpServers": { "softwiro": { "url": "https://softwiro.com/api/mcp" } } }

ターミナルから確認します。

curl -s https://softwiro.com/api/mcp \
  -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

ツール

ツール機能
list_templates無料の Excel テンプレートのカタログを検索します(アラビア語または英語のテキストに対応)。
get_schema1 つのテンプレートのテーブル、列(入力か数式か)、設定、結果セルを取得します。calculate の前に呼び出してください。
calculateレコードと設定をテンプレートに入力し、独自の数式で再計算して、結果を返します。データは保存されません。
get_downloadテンプレートの .xlsx ファイルとオンライン版へのリンクを返します。
list_calculators23 種類の計算ツールと入力項目名を一覧表示します。
run_calculator1 つの計算ツールを実行します。

6 つすべてが読み取り専用で、冪等です(TODAY() を使うテンプレートはサーバーの日付に従います)。

計算ツール

Softwiro 提供の 13 種類:VAT、BMI、カロリー、出産予定日、排卵日、損益分岐点、衣料品原価、必要生地量、出来高払い、薬局の利益率、発注点、無断キャンセルによる損失、学習時間割。

Qintar提供の金関連計算ツール 10 種類:金・銀・現金のザカート、ニサーブ、加工費、金の延べ棒とポンドの価格、公正価格の確認、今すぐ売却、単位換算、予算、金と預金証書とドルの比較、古い金を新しい金に交換。qintar.app から最新価格を取得し、価格を利用できない場合はエラーを返します。結果は参考値です。ザカートと金の計算ツールはファトワではなく、健康関連の計算ツールは医療上の助言ではありません。

使用例

Use the softwiro MCP (run_calculator with vat-calculator) and do not calculate anything yourself.
Egypt, add VAT to two items of 1,000 each and one item of 250.

純額 2,250、税額 315、合計 2,565(VAT 14%)を返します。

自分で実行する

Node 18 以降が必要です。

npm install
npm start            # http://127.0.0.1:3000/api/mcp
npm test             # offline smoke test

環境変数:PORT、HOST、TRUST_PROXY(リバースプロキシの背後で実行する場合は 1 に設定し、レート制限で実際のクライアントアドレスを認識できるようにします)、USAGE_FILE(集計カウンター用の JSON ファイル。省略するとメモリ内に保持します)、SITE_BASE(カタログリンクに使うベース URL。既定値は https://softwiro.com)。

ライブラリとして
const express = require('express');
const { configure, mount } = require('./src/index');
configure({ dataDir: './data' });   // also: templatesDir, schemasDir, siteBase, usageFile, catalog()
const app = express(); mount(app, express);
ディレクトリ構成
src/index.js          HTTP handlers, MCP JSON-RPC, limits, aggregate usage counters
src/worker.js         one calculation in an isolated worker thread (timeout kills it)
src/engine.js         the formula engine (fast-formula-parser with Excel-compatible tweaks)
src/tools-softwiro.js the 13 Softwiro calculators
src/tools-gold.js     the 10 Qintar gold calculators
data/catalog.json     template catalog      data/templates/   the .xlsx files
data/schemas/         one JSON schema per template      data/tool-text.json   Arabic page text of the calculators
制限

リクエスト本文は 200 KB まで、最大 500 行かつ 500 セル、クライアントごとに 1 分あたり計算 30 回、読み取り 120 回、1 回の計算につき 15 秒、同時に実行できる計算は 2 回です。

プライバシー

このサーバーはリクエスト内容を保存も記録もしません。日ごとの集計カウンター(ツール、テンプレート、計算ツールごとの呼び出し数、エラー、接続しているアプリの名前(claude-code など))のみを保持します。IP アドレスとリクエスト本文は保持しません。ホスト型サービスは softwiro.com のウェブサーバーの背後で稼働しており、通常のアクセスログが短期間保持されます(https://softwiro.com/privacyをご覧ください)。ザカート計算ツールは、入力した金額を Qintar の計算サービスに送信します。

テスト

npm test はオフラインで実行するスモークテストです。test/parity/gold.test.mjs は、ヘッドレスブラウザーでゴールド計算ツールと実際の Qintar ページを比較します(開発専用:playwright-core と Chromium、または CHROME_PATH が必要です)。

ライセンス

コード:MIT。LICENSE を参照してください。data/templates/ 内のファイルは、https://softwiro.com/templates で公開されているものと同じ無料の Excel テンプレートです。自由に使用、編集、共有できます。


Softwiro MCP(アラビア語)

AI アシスタントが 67 種類の無料アラビア語 Excel テンプレートを使って計算し、(付加価値税、BMI、出産予定日、金のザカートなどの)23 個の計算ツールを実行できる MCP サーバーです。数字を推測する代わりに、テンプレートと計算ツールのコードそのものに含まれる数式から結果を算出します。キーもアカウントも不要で、データを保存することもありません。

  • ホスト版(無料):https://softwiro.com/api/mcp
  • 説明、使用例、条件、プライバシー:https://softwiro.com/ar/mcp
  • Claude Code では次を実行します:claude mcp add --transport http softwiro https://softwiro.com/api/mcp
  • リクエストの冒頭に「softwiro の MCP を使って、自分で計算しないでください」と入力すると、アシスタントは頭の中で計算せずにツールを呼び出します。

ツールは 6 つあります:list_templates(テンプレートの検索)、get_schema(テンプレートの構造)、calculate(テンプレートを使った計算)、get_download(ダウンロードリンク)、list_calculators と run_calculator(計算ツール)。結果は参考情報です。ザカートと金の計算ツールは宗教上の見解ではなく、健康関連の計算ツールは医療上の助言ではありません。

ローカルで実行するには、npm install の後に npm start を実行します。

インタラクティブコネクター(MCP Apps)

結果を返すツール(list_templates、calculate、list_calculators、run_calculator)には、_meta.ui.resourceUri = ui://softwiro/result が含まれます。MCP Apps に対応するホスト(Claude など)は、resources/read(text/html;profile=mcp-app)でこのリソースを取得し、会話の横に表示します。各計算ツールの入力スキーマから作成されたフォーム、テンプレートの表、結果を読みやすく表示するビューが含まれます。対応していないホストはメタデータを無視し、変更されていないテキスト形式の結果を使用します。結果には structuredContent も含まれます(配列は {items} としてラップされます)。

  • ビューは、MCP Apps の postMessage プロトコルに直接対応する自己完結型の HTML ファイル(src/app-ui.js)です。外部からスクリプトを読み込まず、デフォルトの CSP(connect-src 'none')だけで十分です。ツールの呼び出しはホスト経由でのみ行います。
  • ダウンロードリンクまたはページリンクを開く場合、ビュー内でユーザーに確認を求めた後、ホストに開くよう依頼します(ui/open-link)。
  • データは何も保存されません。ビューが受け取るのは、ツールがすでにモデルに返した内容だけです。

A2UI 1.0(エージェントが生成するインターフェース)

MCP に加えて、サーバーは A2UI 1.0 にも対応しています。エージェントは宣言型 JSON(createSurface、updateDataModel、deleteSurface)を送信し、クライアントは固定カタログから描画して、ユーザーのクリックを送り返します。

エンドポイント内容
GET /api/a2ui/surface/calculator/:idSSE ストリーム:入力スキーマから作成され、データモデルにバインドされた、1 つの計算機用フォーム
GET /api/a2ui/surface/templates?q=SSE ストリーム:Excel テンプレートの一覧。ダウンロードの前に確認を求めます
POST /api/a2ui/events本文 { "message": { "version": "1.0", "action": { name, surfaceId, context } } }。A2UI メッセージの SSE ストリーム(結果を含む updateDataModel、または error)で応答します
GET /api/a2ui/appReact レンダラー(web/dist のデモページ)

MCP ツール list_calculators、list_templates、run_calculator も、同じメッセージを structuredContent.a2ui で返します(追加情報であり、データキーは変更されません)。

セキュリティ:基本カタログのコンポーネントのみを使用し、コードやインラインカタログは使用しません。ID と入力はサーバー独自のカタログおよびスキーマに照らして検証されます。ダウンロード URL はクライアントではなく、常にサーバーから取得します。すべてのメッセージを検証します(version は "1.0" であること、操作はちょうど 1 つであること、アクション名が既知であること)。sensitive: true が設定されたアクション(src/a2ui.js の registerAction)は、最初のリクエストでは実行されません。サーバーは、そのアクションとコンテキストに紐付けられた署名付きトークン(有効期間 5 分)を保持する確認カードを返します。アクションは、ユーザーが「確認」を押してトークンが返されたときにのみ実行されます。何も保存されません。

React レンダラーは web/ にあります(npm install && npm run build。src/processor.js がメッセージを適用し、src/A2uiRenderer.jsx がカタログの一部(Text、Column、Row、List、Card、Divider、Image、Button、TextField、CheckBox、ChoicePicker、Modal)を描画します)。公式の @a2ui/react パッケージ(0.15)には、まだ v1.0 の基本カタログが含まれていないため、こちらは小規模で自己完結しています。

MCP App 内の A2UI(各要素の連携)

ui://softwiro/result ビューは A2UI レンダラーバンドル(web/dist/index.html)です。ホスト内では MCP Apps ブリッジを介して通信します。ツールの結果には、application/a2ui+json 型の埋め込みリソースとして画面が含まれます(A2UI 1.0 メッセージの JSON 配列)。画面を開くモデルツールは、open_calculator(フォーム)、list_templates(テーブル)、run_calculator / calculate (結果)です。ボタンの押下は、アプリ専用ツール a2ui_action(_meta.ui.visibility: ["app"])を介して返され、その結果も application/a2ui+json です。同じ画面は、MCP の外部でも /api/a2ui/* 配下の SSE および /api/a2ui/app で利用できます。

コメント

MCP は初めてですか?

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

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