mcpField
O
Otis

Otis

リモート
otisbase.com金融データ13 日前に更新
リポジトリ公式サイト

Otis について

Otisは、コンサルタントや小規模事業者向けに、AIアシスタント経由で顧客請求を管理するMCPサーバーです。業務や顧客情報、作業、経費、請求書、支払いを記録し、請求書番号の採番や発行済み請求書の不変性をルールで管理します。

主な機能

  1. 01事業者情報と顧客情報の管理
  2. 02請求対象時間、サービス、経費、AI利用量の記録
  3. 03請求書の下書きと発行済み請求書の管理
  4. 04全額・一部支払いの追跡
  5. 05事業記録のエクスポート
  6. 06ルールに基づく合計計算と採番

活用シーン

  1. 01コンサルティング業務と経費の記録
  2. 02請求書を作成して承認に回す
  3. 03顧客の支払いと参照情報の追跡
  4. 04事業の請求記録のエクスポート

MCP 対応

Otisは、ホスト型のリモートエンドポイントまたはセルフホスト環境を通じて、MCPクライアントに請求ツールを提供します。OAuthとメールコードでサインインします。

設定

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

エンドポイントhttps://mcp.otisbase.com/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 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

Otis MCP

コンサルタントや小規模エージェンシー向けに構築された、クライアント請求用の無料 MCP サーバー、Otisbaseのソースコードです。

Otisにはアプリもダッシュボードもありません。AI アシスタントがインターフェースとなり、クライアント、作業、経費、支払いをOtisに記録し、承認した請求書を発行します。Otisは記録を保存し、ルールを適用します。請求書に番号を付け、合計額を計算し、請求書の発行前に正確な合計額の指定を求め、発行済みの請求書を書き換えることはありません。OtisはAIモデルを実行しません。すべての結果は、このリポジトリ内の記録とルールに基づいています。

このリポジトリは、mcp.otisbase.comで稼働するサービス全体を収めています。MCP サーバー、メールでのサインイン、ストレージレイヤーが含まれます。Cloudflare Workers上で稼働します。otisbase.comのウェブサイトは別途管理されています。

ホストされたサービスを利用する

このURLをアシスタントのリモート MCP サーバーとして追加してください。

https://mcp.otisbase.com/mcp

サインインにはメールコードを使ったOAuthを利用するため、APIキーは不要です。インストール方法では、Claude、ChatGPT、Claude Code、Codex、Cursor、Muse、Grok Bot、Mistral Vibe向けのガイドを確認できます。ホストされたサービスは無料です。記録はEU内に保存されます。

  • MCPドキュメント:エンドポイント、ルール、すべてのツール。
  • Otis Plugins:ClaudeとCodex向けのプラグイン。メニューと9つのワークフロースキルが含まれます。
  • スキル:各スキルの機能を確認できます。

Otisが記録する内容

領域記録内容
事業事業の詳細、税の設定、請求書番号。所有者が使用します
クライアントクライアントと請求先の詳細
作業請求可能な時間、サービス、報告されたAI利用状況、経費
請求書下書き、内容が変更されない発行済み請求書、割引、税
支払い重複を防ぐ参照情報付きの全額・一部支払い
エクスポート事業記録の完全なエクスポート

仕組み

部分実装
ランタイム1つのCloudflare Worker(src/index.ts)
MCP サーバー/mcpでStreamable HTTPを使用する@modelcontextprotocol/server(src/mcp.ts)
サインインメールコードを使用する@cloudflare/workers-oauth-provider(src/auth.ts)
事業記録事業ごとに1つのDurable Object内のSQLite(src/business-store.ts)
アカウントとサインインDurable Objects(src/account-store.ts、src/sign-in-store.ts)
OAuthの状態Workers KV
メールサインインコードとセキュリティ通知にCloudflare Email Sendingを使用
データの保存場所EU管轄のDurable Objects(src/regions.ts)
サインインページ専用の小さなスタイルシートを使ったサーバー側レンダリングHTML(src/html.ts、src/shell.ts)

すべての事業操作で、呼び出し元の現在のメンバーシップを確認します。金額は最小通貨単位の整数です。書き込みにはリクエストIDを指定するため、再試行された呼び出しによって同じ事実が二重に記録されることはありません。

リポジトリの構成

パス内容
src/Worker、MCPツール、サインイン、ストレージ、請求ルール、公開ドキュメント
test/Cloudflareのローカルランタイムでの統合テスト
scripts/ライブエンドポイントの確認、サインインの確認、プラグイン生成スクリプト
spec/製品仕様。対象範囲、請求ルール、サービス、設計

動作を変更する前に仕様を読んでください。spec/01-README.mdから始めてください。仕様は決定ログより優先されます。

開発

Node 24以降が必要です。

npm ci
npm run check
npm test

テストはCloudflareのローカルランタイムで実行されます。テストではメール配信をシミュレートします。

Workerをローカルで実行するには、次のコマンドを実行してください。

npm run dev -- --local --ip 127.0.0.1 --port 8788

次に、http://127.0.0.1:8788/healthを開いてください。ローカルランタイムでは、ローカルストレージのみが使用されます。

npm run plugins:buildは、src/workflows.tsからClaudeとCodexのプラグインを生成し、plugins/に出力します。これらはotisbase/otis-pluginsで公開されています。

セルフホスト

Cloudflare アカウントで独自のコピーを実行できます。デプロイする前に wrangler.jsonc を編集してください。

  1. account_id に Cloudflare アカウントを設定します。
  2. OAuth の状態を保存する KV 名前空間を作成し、その ID を kv_namespaces に設定します。EU で保存する場合は、EU の管轄区域で作成してください。
  3. 2 つの routes を独自のドメインに置き換えます。
  4. vars を設定します。
    • ORIGIN:MCP ホストの URL です。
    • SITE_ORIGIN:ウェブサイトの URL です。MCP ホストで開かれたウェブサイトのページはこの URL にリダイレクトされ、サインインページにはサイトの利用規約とプライバシーポリシーへのリンクが表示されます。
    • EMAIL_FROM:サインインコードの送信元です。このドメインは Cloudflare Email Sending 用に設定する必要があります。
    • FEEDBACK_TO:feedback_send ツールを通じて送信されたフィードバックを受信するアドレスです。
    • DO_JURISDICTION:eu に設定すると、Durable Objects が EU 内に保持されます。Cloudflare に選択させる場合は削除してください。
    • SIGN_IN_ENABLED:サインインを許可するには true に設定します。
  5. ratelimits.namespace_id に、アカウント内で一意の ID を設定します。

次にデプロイします。

npx wrangler login
npm run deploy

サインインページとメールには Otisbase の名称が記載されています。他のユーザーに独自のコピーを提供する前に、src/html.ts、src/auth.ts、src/notify.ts で名称を変更し、独自の利用規約とプライバシーポリシーを公開してください。

貢献

バグ報告、修正、アイデアを歓迎します。CONTRIBUTING.md をご覧ください。セキュリティ上の問題を報告するには、SECURITY.md をご覧ください。アシスタントからフィードバックを送ることもできます。Otis にフィードバックを送信するよう依頼してください。

ライセンス

このコードは MIT License のもとで公開されています。

以下の項目は MIT License の対象外です。

  • Otisbase と Otis の名称およびロゴ。
  • SIL Open Font License のもとで提供される src/fonts/ 内の Geist フォント。

src/html.ts のコピーアイコンとチェックアイコンは、Phosphor Icons(MIT)から提供されています。

コメント

MCP は初めてですか?

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

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