causly-server について
causly-serverは、創業者とAIエージェント向けのローカル優先MCPサーバーです。ソフトウェア開発に営業、会議、カレンダー、リマインダーを組み合わせ、ツールパックのオンデマンド読み込みやSQLite保存、安全制御を備えています。
主な機能
- 01コード、GitHub、CI、デプロイ用ツール
- 02リード調査と営業パイプライン
- 03会議メモとアクション項目の管理
- 04カレンダーとローカルリマインダー
- 05オンデマンドのツールパックとSQLite保存
- 06操作確認、ワークスペース制限、秘密情報のマスキング
活用シーン
- 01チェックを実行し、プルリクエストを作成してCIを確認
- 02見込み企業を営業パイプラインに追加
- 03会議メモを保存してフォローアップを設定
- 04カレンダーの空き時間を探して予定を作成
MCP 対応
エージェントはstdio経由のMCPでcausly-serverに接続します。ツールルーターを備え、ツール群をオンデマンドで読み込めます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Causly Server
あらゆる AI エージェントを、あなたの技術面の共同創業者に変えるオープンソースの MCP サーバーです。
多くのエージェントにできるのは文章を書くことです。Causly Server は、エージェントに実行力を与えます。コードを出荷し、顧客を探し、商談を管理し、会議のメモを取り、カレンダーを扱い、Telegram でリマインドします。すべてをひとつの会話から、すべてをあなたのマシン上で実行できます。
npm install -g causly-server
causly-server init
目次
- Causly Server を選ぶ理由
- クイックスタート
- できること
- 仕組み
- ツールパック
- ワークフローツール
- 設定
- Google のセットアップ
- 対応環境
- セキュリティとプライバシー
- コマンドリファレンス
- トラブルシューティング
- FAQ
- 互換性
- コントリビュート、ロードマップ、ライセンス
Causly Server を選ぶ理由
創業者の1週間は、コードを書くことだけではありません。顧客を探し、フォローアップし、通話で約束したことを覚えておき、問題を起こさずにリリースすることも含まれます。Causly Server は、これらすべてをひとつの MCP サーバーにまとめます。
- 開発、販売、運用、成長をひとつのサーバーで。 Git、GitHub、CI、デプロイに加え、見込み顧客、営業パイプライン、会議メモ、カレンダー、リマインダー、SEO も扱えます。
- チャットが終わっても残るメモリ。 パイプライン、会議、リマインダーはローカルの SQLite ファイルに保存されるため、エージェントは今日の作業を止めたところから、明日また再開できます。
- ローカルファースト。 キーとデータはあなたのマシン上に保管されます。Causly のクラウドを経由することはありません。
- デフォルトで安全。 リスクのある操作には明示的な確認が必要です。ファイルアクセスはひとつのフォルダーに制限でき、ログからシークレットはマスキングされます。
- エージェントのコンテキストへの負荷を軽減。 数百もの定義でエージェントを圧迫するのではなく、必要に応じてツールをパック単位で読み込みます。
- セットアップはひとつのコマンドで。
initが Claude Desktop、Cursor、Windsurf を検出して接続します。
クイックスタート
Node.js 20 以降が必要です。
1. インストール
npm install -g causly-server
2. エディターを接続
causly-server init
init は、利用中の Claude Desktop、Cursor、Windsurf に Causly Server を追加します。また、Claude Code 用の1行コマンドも表示します。その後、エディターを再起動してください。
3. すべてを確認
causly-server doctor
4. 利用するサービスのキーを追加(任意)
causly-server setup
ファイル、git、シェル、Docker、Terraform はキーなしで動作します。必要なサービスのキーだけを追加してください。入力時に各キーの有効性がライブで確認されます。
便利な init オプション:
causly-server init --client cursor # pick editors instead of auto-detecting
causly-server init --workspace D:\my-project # limit file tools to one folder
causly-server init --toolsets research,pipeline,meetings # choose which packs load at startup
できること
- 「React 開発者を募集している企業を探して、最も有望な3社をパイプラインに追加して。」
- 「Acme との通話のメモを保存して。来週デモを見たいとのことなので、金曜日にフォローアップして。」
- 「今週の期限は何?会議のアクション項目とリマインダーも含めて。」
- 「次の会議に向けて準備して。」(Google Calendar が必要です)
- 「この録音を書き起こして、アクション項目を一覧にして。」(Groq キーが必要です)
- 「この変更をリリースして。チェックを実行し、プルリクエストを作成して、CI が成功したら教えて。」
- 「このページの SEO を監査して、キーワードを提案して。」
- 「木曜日の空き時間を探して、予定を作成して。」
仕組み
エージェントは MCP(stdio)経由で Causly Server と通信します。サーバー内部の構成は次のとおりです。
- ツールルーター。
search_tools、load_toolset、use_toolを使って、エージェントはツールを検索し、名前を指定して呼び出せます。パックは必要に応じて読み込まれます。また、チャット中にツール一覧を更新しないエディターでもuse_toolは動作するため、再起動は不要です。 - 安全レイヤー。 権限レベル、リスクの高い操作に対する確認、任意のワークスペース制限、シークレットのマスキング、アクティビティログを備えています。
- ツールパック。 約 230 個のツールをパック(下記)に分類しています。
- ローカルストア。 パイプライン、会議、リマインダーには
~/.causlyの SQLite を使用し、シークレットは暗号化して保存します。API キーは~/.causly/.envに保存します。 - 各種サービス。 GitHub、Vercel、Docker、Terraform、Postgres、Slack、Notion、Linear、Gmail、Google Calendar、Telegram などに、独自のキーを使って接続します。
ツールパック
以下のパックはデフォルトで起動時に読み込まれます。
| パック | ツール数 | 機能 |
|---|---|---|
| files | 9 | ファイルの読み取り、書き込み、編集、コピー、移動、確認 |
| directory | 5 | ディレクトリの一覧表示、作成、削除、ファイル名の検索 |
| command | 1 | 安全性を確認しながらシェルコマンドを実行 |
| project | 7 | プロジェクトの種類と健全性を検出し、ビルド、テスト、lint、型チェックを実行 |
| research | 2 | ウェブを検索し、ページを読みやすいテキストとして取得 |
| leads | 3 | 採用中の企業(Hacker News、リモート求人掲示板)や公開企業の連絡先を検索 |
| pipeline | 9 | ローカルの営業パイプライン:リード、取引、連絡先、アクティビティログ、レポート、CSV エクスポート |
| meetings | 9 | 録音の文字起こし、要約の保存、アクション項目の追跡、取引やカレンダーへのリンク、通話の準備 |
| reminders | 3 | フォローアップをローカルに保存し、期限が来ている項目を確認 |
以下は必要に応じて読み込むか、causly-server toolsets add <name> を使って起動時に読み込むよう追加できます。
| パック | ツール数 | 機能 |
|---|---|---|
| calendar | 8 | Google Calendar:予定、空き時間、会議時間枠の検索、作成、更新、削除 |
| gmail | 8 | 検索、読み取り、送信、返信、転送 |
| telegram | 5 | 自分へのアラート、ボットに送信されたメッセージの読み取り |
| seo | 4 | キーワードのアイデア、ページ監査、原稿チェック、Search Console |
| git | 20 | ステータス、差分、コミット、ブランチ、マージ、スタッシュ、タグ、リモート |
| github | 27 | リポジトリ、イシュー、プルリクエスト、レビュー、Actions |
| workflow | 4 | ship_change、fix_ci、verify_ci_fix、deploy_project |
| vercel | 11 | プロジェクト、デプロイ、HTTP ヘルスチェック |
| docker | 18 | ビルド、実行、ログ、イメージ、exec、Compose |
| terraform | 20 | Init、plan、apply、state、ワークスペース、PR の plan コメント |
| database | 8 | Postgres と MySQL のクエリおよびスキーマの確認 |
| supabase | 6 | プロジェクト、組織、SQL |
| slack | 8 | チャンネル、メッセージ、スレッド |
| notion | 15 | ページ、データベース、ブロック、コメント |
| linear | 7 | イシューの一覧表示、読み取り、作成、更新、コメント |
| sentry | 8 | プロジェクト、イシュー |
| secrets | 6 | 暗号化されたローカルシークレットストア |
起動時に読み込むパックを管理します。
causly-server toolsets # show what loads at startup
causly-server toolsets add github,gmail
causly-server toolsets remove seo
causly-server toolsets reset # back to the defaults
ワークフローツール
単一のツールは構成要素です。これらを組み合わせて、検証済みの成果を実現します。
ship_change:変更を確認し、ブランチを作成して、プロジェクトのチェックを実行し、コミット、プッシュして、プルリクエストを作成します。fix_ci:失敗した GitHub Actions の実行を見つけ、実際の失敗出力を取得します。verify_ci_fix:修正をコミットしてプッシュし、ワークフローをポーリングして、CI が成功したことを確認します。deploy_project:健全性を確認し、テストとビルドを実行してデプロイし、結果をポーリングして、公開 URL を HTTP で検証します。
flowchart TD
A["You describe a task"] --> B["Agent edits files"]
B --> C["ship_change runs checks"]
C --> D["Commit, push, open PR"]
D --> E{"CI passes?"}
E -- "No" --> F["fix_ci gets failure logs"]
F --> G["Agent fixes the code"]
G --> H["verify_ci_fix pushes and confirms CI"]
H --> E
E -- "Yes" --> I["deploy_project deploys"]
I --> J["HTTP verification"]
J --> K["Shipped"]
設定
設定は ~/.causly/.env(Windows の場合は C:\Users\<you>\.causly\.env)に保存されます。手動で編集するのではなく、CLI で管理してください。
causly-server setup # step by step, each key checked live
causly-server keys list # which keys are set (never the full value)
causly-server keys set NAME # hidden prompt
causly-server keys unset NAME
causly-server doctor --test # check every configured service live
変更はエディターを再起動しなくても反映されます。
| サービス | 変数 | 備考 |
|---|---|---|
| GitHub | GITHUB_TOKEN | 細かい権限を設定したトークン:コンテンツ、イシュー、プルリクエスト |
| Vercel | VERCEL_TOKEN | デプロイにはプロジェクトが Git にリンクされている必要があります |
| Supabase | SUPABASE_ACCESS_TOKEN | 管理 API |
| Slack | SLACK_BOT_TOKEN | search:read にはユーザートークンが必要です |
| Notion | NOTION_API_KEY | 各ページまたはデータベースをインテグレーションと共有してください |
| Linear | LINEAR_API_KEY | 個人用 API キー |
| Sentry | SENTRY_AUTH_TOKEN | 解決またはコメントするには event:write を追加してください |
| Gmail | GMAIL_CLIENT_ID、GMAIL_CLIENT_SECRET、GMAIL_REFRESH_TOKEN | causly-server login google を実行してください |
| Google Calendar | CALENDAR_REFRESH_TOKEN | Gmail と同じ Google クライアント |
| Telegram | TELEGRAM_BOT_TOKEN、TELEGRAM_CHAT_ID | @BotFather でボットを作成してメッセージを送り、telegram_get_updates でチャット ID を確認してください |
| Groq(会議の文字起こし) | GROQ_API_KEY | 無料利用枠があります。文字起こしを確認した場合にのみ、音声が Groq にアップロードされます |
| シークレットマネージャー | SECRETS_MASTER_KEY | 生成して保管する 32 バイトの 16 進キー |
| タイムゾーン(任意) | CAUSLY_TIMEZONE | IANA 名(例:Asia/Kolkata)。既定ではマシンのタイムゾーンが使われます |
Docker と Terraform にはキーは不要で、PATH に CLI があれば使えます。Postgres と MySQL では、呼び出しごとに接続文字列を指定します。25 MB を超える録音を文字起こしするには、PATH に ffmpeg が必要です。
Google の設定(Gmail、Calendar、Search Console)
Google では、自分で所有する OAuth クライアントを一度設定する必要があります。所要時間は約 5 分です。
- Google Cloud Console を開き、プロジェクトを作成するか、既存のプロジェクトを選択します。
- 使用する API を有効にします:Gmail API、Google Calendar API、および任意で Google Search Console API。
- Google Auth Platform を開きます。Branding でアプリ名とサポート用メールアドレスを入力します。Audience で External を選び、自分の Google アカウントをテストユーザーとして追加します。
- Clients で Create client を選び、Desktop app を選択します。「Web application」クライアントでは
redirect_uri_mismatchエラーが発生します。クライアント ID とシークレットをコピーします。 - Causly に保存します:
causly-server setupを実行するか、causly-server keys set GMAIL_CLIENT_IDとcausly-server keys set GMAIL_CLIENT_SECRETを実行します。 - ブラウザーで一度サインインします。
causly-server login google # Gmail and Calendar
causly-server login google all # also Search Console
7 日間の有効期限を回避する。 Google アプリが Testing の間は、Google によってサインイントークンが 7 日ごとに期限切れになります。causly-server login google を実行すればいつでも更新できます。または、有効期限をなくすには、Google Auth Platform → Audience で Publish app(In production)をクリックします。その前に、手順 3 の Branding ページに必要事項を入力してください。個人利用の場合、Google による審査は不要です。サインイン時に「未確認のアプリ」という警告が表示されますが、自分のクライアントでは正常です。Advanced を選び、続行してください。
対応クライアント
| クライアント | 設定 |
|---|---|
| Claude Desktop | causly-server init |
| Cursor | causly-server init |
| Windsurf | causly-server init |
| Claude Code | init を実行すると、次のコマンドが表示されます:claude mcp add causly-server -- node <path>/index.js |
| 任意の MCP クライアントまたはエージェントフレームワーク | stdio 経由で causly-server を起動します |
Claude Desktop、Cursor、Windsurf(それぞれの実際のリポジトリで同じ use_tool 呼び出しを実行)、プレーンな JavaScript MCP クライアント、および @langchain/mcp-adapters 経由の LangChain(JS)でテスト済みです。
JavaScript での最小限のカスタムエージェント:
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
const client = new Client({ name: "my-agent", version: "1.0.0" });
// Find the install folder with: npm root -g
await client.connect(new StdioClientTransport({
command: "node",
args: ["<npm-root>/causly-server/index.js"],
}));
const { tools } = await client.listTools(); // search_tools, load_toolset, use_tool, ...
const result = await client.callTool({
name: "use_tool",
arguments: { tool: "git_status", arguments: { repo_path: "." } },
});
console.log(result.content[0].text);
セキュリティとプライバシー
Causly はファイル、リポジトリ、インフラストラクチャにアクセスする可能性があるため、制御機能はサーバー自体に組み込まれています。脆弱性の報告については、SECURITY.md をご覧ください。
- 権限レベル。 すべてのツールには
READ、LOW、MEDIUM、HIGH、DESTRUCTIVEのいずれかが設定されています。HIGHとDESTRUCTIVEの操作(デプロイ、マージ、シェルコマンド、削除、raw SQL、Terraform の apply と destroy、Docker の削除)には、明示的なconfirm: trueが必要です。 - ワークスペースの制限。
causly-server init --workspace <folder>を実行すると、ファイル操作ツールとコマンドツールを1つのフォルダーに制限できます。 - コマンドのリスクチェック。 ドライブの消去、フォーマット、シャットダウンのコマンドはブロックされます。強制プッシュ、
DROP TABLE、curl | bash、sudoには警告が表示されます。 - パスの保護。 保護対象のシステムディレクトリ内での書き込みと削除はブロックされます。
- シークレットの秘匿化。 トークン、パスワード、API キーは、ログに書き込まれる前に秘匿化されます。
- ローカルで暗号化されたシークレット。 組み込みのシークレットマネージャーは、ユーザーが管理するキーで AES-256-GCM を使用します。外部のボールトは不要です。
- アクティビティログ。 すべての呼び出しは、構造化 JSONL(タイムスタンプ、操作 ID、リスクレベル、ステータス、秘匿化された入力、所要時間)として
logs/activity.logに記録されます。
プライバシー。 Causly Server には Causly のクラウドも Causly アカウントもありません。パイプライン、会議、リマインダーはローカルの SQLite ファイルに保存され、キーは ~/.causly/.env に保持されます。データがマシンの外部に送信されるのは、GitHub、Gmail、Telegram、文字起こし用の Groq など、設定したサービスを使用する場合に限られ、そのサービスにのみ送信されます。
ship_change、verify_ci_fix、deploy_project のオプションの BoundaryAttest レシートについては、ドキュメントをご覧ください。
コマンドリファレンス
causly-server Start the MCP server (your editor runs this)
causly-server init Set up Claude Desktop, Cursor and Windsurf
--client claude|cursor|windsurf|all
--workspace <folder>
--toolsets <list>
--no-setup
causly-server status One screen: editors, keys, pipeline, reminders, backup, updates
causly-server doctor [--test] Check your setup; --test also checks every key live
causly-server setup [service] Add API keys step by step
causly-server keys list | set NAME | unset NAME | open
causly-server login google [gmail,calendar,gsc|all]
causly-server toolsets [add|remove|reset]
causly-server backup [file] Save a copy of your pipeline, meetings and reminders
causly-server restore <file> [--yes] Put a backup back (current data is kept as a copy)
causly-server remove [--client <name>] Remove it from your editors
causly-server --version
トラブルシューティング
まず causly-server doctor を実行してください。不足しているものが表示されます。
| 問題 | 解決方法 |
|---|---|
インストール後に causly-server が認識されない | 新しいターミナルを開いて PATH を更新してください。npm のグローバルフォルダー(npm config get prefix)が PATH に含まれていることを確認してください。 |
init の後もエディターにツールが表示されない | システムトレイを含め、エディターを完全に終了してから、もう一度開いてください。 |
| エージェントが、読み込まれていないツールを認識できない | use_tool を使ってツールを呼び出すよう指示するか、causly-server toolsets add <pack> を実行してください。 |
| Gmail または Calendar が動作しなくなった | Google トークンの有効期限が切れています(テストモードでは7日間)。causly-server login google を実行してください。 |
Google サインイン中に redirect_uri_mismatch が発生する | OAuth クライアントが「ウェブアプリケーション」になっています。代わりにデスクトップアプリのクライアントを作成してください。 |
| リマインダーが Telegram に届かない | TELEGRAM_BOT_TOKEN と TELEGRAM_CHAT_ID の両方を設定してから、causly-server doctor --test を実行してください。 |
| 大きなファイルの文字起こしに失敗する | ffmpeg をインストールし、PATH に含まれていることを確認してください。25 MB を超えるファイルは先に圧縮されます。 |
restore でデータファイルを置き換えられない | Claude Desktop、Cursor、および Causly Server を使用しているアプリを終了してから、もう一度実行してください。 |
| ファイルまたはコマンドが拒否される | ワークスペース制限が有効になっている可能性があります。causly-server doctor を確認するか、使用したいフォルダーを指定して init を再実行してください。 |
よくある質問
無料ですか? はい。商用利用も含め、MIT ライセンスで提供されています。接続するサービスには、それぞれ独自の料金が設定されています。
データは Causly に送信されますか? いいえ。Causly のクラウドは処理に関与しません。セキュリティとプライバシーをご覧ください。
すべてのキーが必要ですか? いいえ。利用するサービスのキーだけを追加してください。
どのエージェントで使えますか? MCP クライアントであればどれでも使えます。Claude Desktop、Cursor、Windsurf、シンプルな JavaScript クライアント、LangChain(JS)でテスト済みです。
エージェントがツールを呼び出さないのはなぜですか? 読み込まれていないパックに含まれている可能性があります。エージェントに use_tool を使うよう指示するか、causly-server toolsets add <pack> でパックを追加してください。
更新するにはどうすればよいですか? npm update -g causly-server を実行してください。status と doctor で新しいバージョンが公開されているか確認できます。
データをバックアップするにはどうすればよいですか? causly-server backup を実行すると、パイプライン、ミーティング、リマインダーがファイルに保存されます。causly-server restore <file> で復元できます。
削除するにはどうすればよいですか? causly-server remove でエディターから削除します。その後、npm uninstall -g causly-server を実行してください。
ホステッド版はありますか? Causly Hosted は開発中です。ウェイトリストに登録してください。
互換性
| 状態 | |
|---|---|
| Node.js | 20 以降 |
| Windows | テスト済み |
| macOS と Linux | 動作する見込みですが、実機では未テストです。報告をお待ちしています。 |
| エディター | Claude Desktop、Cursor、Windsurf(テスト済み);Claude Code(init によってコマンドが表示されます) |
既知の制限事項
vercel_create_deploymentとdeploy_projectでは、Vercel プロジェクトがあらかじめ Git にリンクされている必要があります。supabase_run_sqlは Supabase Management API を使用します。一部のパーソナルアクセストークンでは、SQL に対して403が返されます。slack_search_messagesには、search:readスコープを持つ Slack ユーザートークンが必要です。docker_pushには、ホストでレジストリ認証があらかじめ設定されている必要があります。- Sentry の
resolve_issue、ignore_issue、add_commentには、event:writeスコープを持つトークンが必要です。
貢献、ロードマップ、ライセンス
- ドキュメント:agenv.causly.in/docs/server
- CONTRIBUTING.md では、ツールパックの追加方法と手動テストのチェックリストを説明しています。行動規範もお読みください。
- ROADMAP.md には今後の予定が、CHANGELOG.md にはリリース履歴が記載されています。
- ライセンス:MIT。
これを基にカスタム開発をご希望ですか?
カスタム MCP サーバー、特定のインテグレーション、または製品やチーム向けの関連サービスが必要ですか?こちらまでご連絡ください:[email protected]
Causly Hosted
Causly Server を自分で実行したくない場合は、マネージド版の Causly Hosted をご利用いただけます。現在開発中です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。