NewCrm MCP Server Foundation
NewCrm MCPサーバー基盤
このプロジェクトは、既存のNewCrm CRM用の独立したMCPサーバーです。CRMコードベースを変更せず、MongoDBにも直接接続しません。
現在のスコープは、将来のMCP統合のためのクリーンな基盤に意図的に限定されています。
アーキテクチャ
ChatGPT Work ↓ OAuth 2.1 ↓ NewCrm MCPサーバー ↓ 既存のNewCrmバックエンドAPI ↓ MongoDB
MCPサーバーは、可能な限り既存のバックエンドAPIレイヤーを通じて既存のCRMと通信するように設計されています。
Related MCP server: @kemosoft/mcp-heymax-crm
現在のステータス
このプロジェクトには意図的に以下は含まれていません:
OAuth実装
MCPツール
HubSpot統合
書き込み操作
作成、更新、削除操作
MongoDBアクセス
一括エクスポート
Webhook
バッチ更新
プロジェクト構造
NewCrm-MCP/
├── src/
│ ├── audit/
│ │ └── logger.js
│ ├── auth/
│ │ └── tokenValidator.js
│ ├── config/
│ │ └── env.js
│ ├── permissions/
│ │ └── roleDefinitions.js
│ ├── services/
│ │ └── crmApiClient.js
│ ├── tools/
│ │ └── index.js
│ └── server.js
├── .env.example
├── .gitignore
├── package.json
├── README.md
└── node_modules/インストール
プロジェクトフォルダーでターミナルを開きます。
依存関係をインストールします:
npm install環境変数
サンプルファイルをコピーし、ローカルの.envファイルに値を設定します:
copy .env.example .env.envファイルには、以下のような値を含める必要があります:
PORTHOSTNODE_ENVCRM_API_BASE_URL=https://www.jtcrm.in/apiMCP_SERVER_NAMEMCP_SERVER_VERSIONLOG_LEVELCRM_API_TIMEOUT_MS
シークレットや実際のトークンをソース管理にコミットしないでください。永続的な管理者JWTや本番環境の認証情報をプロジェクトに保存しないでください。
CRM API統合
このプロジェクトには、既存のNewCrmバックエンドAPIへの安全な読み取り専用アクセスのための再利用可能なCRM APIクライアントが含まれています。
現在サポートされているエンドポイント:
GET /api/leads
このサービスは、明示的に設定されたエンドポイントのみに意図的に制限されています。MCPユーザーからの任意のURLは受け付けません。
使用例:
import { getLeads } from "./src/services/crmApiClient.js";
const result = await getLeads({
authToken: process.env.CRM_API_TEST_AUTH_TOKEN,
});これにより、直接のMongoDBアクセスや書き込み操作を回避しながら、将来のCRM API呼び出しのために統合を再利用可能に保ちます。
安全なテストガイダンス
開発またはテストの場合は、呼び出し元またはローカルの一時的な環境値から実行時にユーザースコープのJWTを渡してください。共有の管理者トークンを.envに置かないでください。
ローカルテストフローの例:
$env:CRM_API_TEST_AUTH_TOKEN="<user_jwt_here>"
node --input-type=module -e "import { getLeads } from './src/services/crmApiClient.js'; const result = await getLeads({ authToken: process.env.CRM_API_TEST_AUTH_TOKEN }); console.log(result);"このサービスはトークン自体をログに記録することはなく、呼び出し元が提供した場合にのみx-auth-tokenヘッダーを送信します。
サーバーの実行
npm startオプションの開発モード:
npm run dev/mcpの仕組み
このプロジェクトは、Streamable HTTPトランスポートを備えた公式のMCP SDKを使用しています。
サーバーは/mcpに単一のMCPエンドポイントを公開します。
POST /mcpは、MCP JSON-RPC初期化と後続のリクエストを処理します。初期化リクエストを受信すると、新しいセッションが作成されます。
各セッションは、関連付けられたStreamable HTTPトランスポートを保存します。
DELETE /mcpは、不要になったセッションを閉じます。GET /mcpは、この基盤がストリーミングGETリクエストをまだサポートしていないため、現在405 Method Not Allowedを返します。
これは、CRM機能を時期尚早に追加することなく、将来のツールおよびバックエンド統合のための正しい基盤です。
サーバーのテスト
サーバーを起動した後、正常にリッスンしていることを確認します:
curl -i http://127.0.0.1:3002/mcp期待される動作:
サーバーは、
/mcpへのGETリクエストに対してHTTP405で応答する必要があります。サーバーは、互換性のあるクライアントが接続されると、MCP初期化およびJSON-RPCトラフィックのPOSTリクエストも受け付ける必要があります。
起動が成功すると、以下のようなログで示されます:
{"timestamp":"...","level":"info","message":"NewCrm MCP foundation server started","host":"127.0.0.1","port":3002,"endpoint":"/mcp"}注意事項
このリポジトリは、既存のNewCrmプロジェクトから意図的に分離されています。これはスタンドアロンのMCP基盤サーバーであり、直接のデータベースアクセスやCRM固有のビジネスロジックは含まれていません。
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only MCP server for public WeJob jobs, formations, and companies.
API-first CRM for LLMs - contacts, companies, deals and activities over a native MCP server.
Cross-product MCP server for CRM, LeadKit, ProjectKit, Bookio. 10 action types, MIT open spec.
MCP server for Getfly CRM — customers, opportunities, orders, tickets and tasks.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceRead-only MCP server connecting Claude to Vtiger CRM for leads, deals, and overdue follow-ups.-
- AlicenseAqualityCmaintenanceMCP server for HeyMax CRM API, providing read-only tools to query pipelines, services, and other CRM data.1010 npmMIT
- FlicenseNot gradedqualityDmaintenanceRead-only MCP server for MongoDB ERP analytics with catalog-driven collection allowlist and safe find/aggregate tools.1-

firelever-mcpofficial
FlicenseNot gradedqualityBmaintenanceRead-only MCP server for querying the lead database and pipeline statistics.-