mcp-crm
mcp-crm
학습용 프로젝트: Model Context Protocol 서버로, stdio를 통해 CRM을 MCP 클라이언트에 노출합니다.
로그인은 Microsoft Entra를 통해 device-code 흐름을 사용해 진행됩니다. 결과로 얻은 ID 토큰은 CRM 액세스 토큰과 교환되므로, CRM 쿼리는 로그인한 사용자로 실행되며 해당 사용자에게 허용되는 데이터만 반환됩니다.
요구 사항
Node.js 20+
Entra 앱 등록에서 device-code(공용 클라이언트) 흐름이 활성화되어 있어야 합니다.
POST /api/auth/entra에서 Entra 토큰을 받아들이고GET /api/accounts를 제공하는 CRM API
Related MCP server: M365 Copilot Web Bridge
설정
npm install프로젝트 루트에 .env 파일을 만듭니다:
ENTRA_CLIENT_ID=<your app registration's client id>
ENTRA_TENANT_ID=<your directory tenant id>
CRM_API_BASE_URL=https://your-crm.example.com세 항목 모두 필수입니다. 하나라도 없으면 서버는 시작 시 오류를 던집니다. .env는 gitignore 처리되어 있으므로 절대 커밋하지 마세요.
실행
npx tsx src/index.ts # run directly
npx tsc # type-check and build to dist/서버는 stdio로 MCP를 주고받으므로, 보통 직접 실행하는 것이 아니라 클라이언트가 실행합니다. Claude Code에 등록할 때는:
{
"mcpServers": {
"crm": {
"command": "npx",
"args": ["tsx", "/absolute/path/to/mcp-crm/src/index.ts"]
}
}
}로그 출력은 stderr로 보냅니다. stdout이 MCP 프로토콜을 운반하기 때문입니다.
도구
Tool | Description |
| Entra device-code 로그인을 시작하고 방문할 코드와 URL을 반환합니다. 즉시 반환되며, 로그인은 백그라운드에서 완료됩니다. |
| 해당 로그인이 완료되었는지, 아직 진행 중인지, 실패했는지 보고합니다. |
| 실제 CRM 계정을 이름으로 검색합니다. 로그인 완료가 필요합니다. |
| 보통 하드코딩된 샘플 계정 목록을 검색합니다. 인증이 필요 없습니다. 실제 CRM 없이 연결을 테스트할 때 사용됩니다. |
로그인 흐름
start_crm_login은 Entra 인증이 끝날 때까지 기다릴 수 없으므로 두 단계로 나뉩니다:
start_crm_login을 호출합니다. 디바이스 코드가 반환됩니다.브라우저에서 로그인을 완료하면 URL이 제공됩니다.
crm_login_status를 호출해 확인합니다. 로그인된 사용자가 확인되면search_crm_accounts가 작동합니다.
토큰은 메모리에만 저장되므로, 서버를 재시작하면 다시 로그인해야 합니다.
라이선스
ISC
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceBridges stdio-based LLM harnesses to OAuth-protected remote MCP servers via Streamable HTTP, handling PKCE browser login and token refresh automatically.9
- AlicenseNot gradedqualityCmaintenanceExposes a user-authenticated Microsoft 365 Copilot Chat browser session as a stdio MCP server, enabling AI-powered chat interactions via MCP tools like copilot_chat and copilot_status.1MIT
- AlicenseNot gradedqualityAmaintenanceEnables managing Onde Inference accounts and model catalog operations through MCP tools such as login, app management, model registration, and assignment. Returns structured JSON over stdio for use with any MCP client.Apache 2.0
- FlicenseNot gradedqualityBmaintenanceProvides MCP tools to interact with GoHighLevel CRM data, including contacts, conversations, call transcripts, broker lead overviews, pipelines/opportunities, and task creation. Supports both stdio and HTTP transports for local and remote use.
Related MCP Connectors
Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.
Official Microsoft MCP Server to query Microsoft Entra data using natural language
Query SEC EDGAR filings, XBRL financials, and company data through MCP. STDIO & Streamable HTTP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Saipranoy/mcp-crm'
If you have feedback or need assistance with the MCP directory API, please join our Discord server