mcpField
C
crmcloud

crmcloud

ローカル
github.com/CloudCorpRecordsビジネス・マーケティング02 週間前に更新

crmcloud について

crmcloudは、Salesforce RESTデータAPIを通じてorgデータにアクセスするコマンドラインツール兼stdio MCPサーバーです。SOQL・SOSL検索、SObjectメタデータとレコード操作、orgの制限やトークンのユーザー情報を必要とする利用者向けで、org管理やメタデータのデプロイ機能はありません。

主な機能

  1. 01SOQLクエリとSOSL検索を実行
  2. 02SObjectの一覧表示と詳細取得
  3. 03レコードの作成、取得、更新、削除
  4. 04orgのAPI制限を確認
  5. 05アクセストークンのユーザー情報を取得

活用シーン

  1. 01SOQLまたはSOSLでSalesforceレコードを検索
  2. 02SObjectの項目とリレーションを確認
  3. 03Salesforceレコードを管理
  4. 04API制限とトークンのユーザー情報を確認

MCP 対応

stdio MCPサーバーは、SOQL・SOSL、SObjectの検索と詳細取得、レコードCRUD、orgの制限、ユーザー情報のツールを提供します。呼び出しにはSALESFORCE_INSTANCE_URLとSALESFORCE_ACCESS_TOKENを使い、Salesforce REST APIにアクセスします。

設定

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

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

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

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

ツール

10

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

パラメーター型必須説明
querystringはいSalesforce 組織に対して実行する SOQL クエリ。

詳細

crmcloud

crmcloud は、1 つの Salesforce 組織をありのままに映す、シンプルな窓口です。組織内のすべては、いくつかの共通する構造を基盤としています。フィールドを持つ SObject、種別と ID で指定するレコード、質問に使う SOQL、オブジェクトを横断して検索する SOSL です。crmcloud はこれらの構造をそのまま扱い、クエリの実行、検索、オブジェクトの一覧表示と説明の取得、レコードの作成・読み取り・更新・削除を行います。あわせて、組織の制限と現在のユーザー情報も取得できます。1 つのバイナリで、コマンドラインインターフェースと stdio MCP サーバーの両方を提供します。

すべての呼び出しは、次の 2 つの環境変数で設定します。

  • SALESFORCE_INSTANCE_URL — 組織のインスタンス URL です。例:https://your-org.my.salesforce.com(末尾のスラッシュがあっても構いません)。
  • SALESFORCE_ACCESS_TOKEN — 組織のアクセストークンです。Authorization: Bearer ヘッダーで送信され、出力されることはありません。

どちらかの変数が設定されていない場合、リクエストを送信する前にすべての呼び出しが失敗し、不足している変数名を示すエラーが返されます。データの呼び出し先は <instance>/services/data/v59.0 です。ユーザー情報の呼び出し先は、Salesforce が情報を提供する <instance>/services/oauth2/userinfo です。

意図的にコア機能に絞っています。より広範な Salesforce ツール群のうち、sf CLI の中核となる組織およびスクラッチ組織の管理、Apex と Lightning のツール、メタデータのデプロイと取得、一括データのインポートとエクスポートは含まれていません。crmcloud が対応するのは REST データサーフェスのみです。

インストール

npx @reneturcios/crmcloud sobjects

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

docker run -i -e SALESFORCE_INSTANCE_URL -e SALESFORCE_ACCESS_TOKEN ghcr.io/cloudcorprecords/crmcloud

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

CLI

export SALESFORCE_INSTANCE_URL=https://your-org.my.salesforce.com
export SALESFORCE_ACCESS_TOKEN=<redacted>

crmcloud query "SELECT Id, Name FROM Account LIMIT 5"
crmcloud search "FIND {Acme} IN NAME FIELDS RETURNING Account(Id, Name)"
crmcloud sobjects
crmcloud describe Account
crmcloud get Account 001xx000003DGb2AAG
crmcloud create Account '{"Name":"Acme","Industry":"Technology"}'
crmcloud update Account 001xx000003DGb2AAG '{"Name":"Acme II"}'
crmcloud delete Account 001xx000003DGb2AAG
crmcloud limits
crmcloud userinfo

crmcloud --version

各コマンドは、上流から返された JSON ペイロードを出力します。Salesforce は更新と削除に対して空の 204 を返すため、この 2 つのコマンドは代わりに {"success": true, "id": ..., "sobject": ...} という簡潔な確認情報を出力します。終了コード:成功時は 0、呼び出しの失敗時(環境変数の不足や API エラーを含む)は 1、使用方法のエラー時は 2 です。

MCP サーバー

1 つのバイナリで両方のインターフェースを提供します。mcp サブコマンドで stdio MCP サーバーを起動します。

npx -y @reneturcios/crmcloud mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "crmcloud": {
      "command": "npx",
      "args": ["-y", "@reneturcios/crmcloud", "mcp"],
      "env": {
        "SALESFORCE_INSTANCE_URL": "https://your-org.my.salesforce.com",
        "SALESFORCE_ACCESS_TOKEN": "..."
      }
    }
  }
}
ツール
ツール入力返される内容
run_soql_queryquery(必須)SOQL の結果セット:合計件数、完了フラグ、レコード。
search_recordssearch(必須)SOSL の検索レコード。
list_sobjects(なし)説明グローバルメタデータを含む、組織の SObject 一覧。
describe_sobjectsobject(必須)オブジェクトのフィールド、子リレーション、レコードタイプ。
get_recordsobject、id(必須)レコードのフィールド値。
create_recordsobject、fields(必須)上流から返される作成結果:新しいレコードの id、success、errors。
update_recordsobject、id、fields(必須)成功の確認情報(上流は本文なしの 204 を返します)。
delete_recordsobject、id(必須)成功の確認情報(上流は本文なしの 204 を返します)。
get_org_limits(なし)組織の API 使用制限と残量。
get_user_info(なし)アクセストークンに紐づくユーザーの情報。

API エラーでは、HTTP ステータスに加え、組織から返された場合は Salesforce 独自のエラーメッセージとエラーコードが表示されます。

開発

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

ライセンス

MIT — LICENSE を参照してください。

コメント

MCP は初めてですか?

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

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