Skip to main content
Glama
Saipranoy

mcp-crm

by Saipranoy

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

start_crm_login

Entra device-code 로그인을 시작하고 방문할 코드와 URL을 반환합니다. 즉시 반환되며, 로그인은 백그라운드에서 완료됩니다.

crm_login_status

해당 로그인이 완료되었는지, 아직 진행 중인지, 실패했는지 보고합니다.

search_crm_accounts

실제 CRM 계정을 이름으로 검색합니다. 로그인 완료가 필요합니다. id, name, status, sales_rep와 함께 최대 25개의 일치 항목을 반환합니다.

search_accounts

보통 하드코딩된 샘플 계정 목록을 검색합니다. 인증이 필요 없습니다. 실제 CRM 없이 연결을 테스트할 때 사용됩니다.

로그인 흐름

start_crm_login은 Entra 인증이 끝날 때까지 기다릴 수 없으므로 두 단계로 나뉩니다:

  1. start_crm_login을 호출합니다. 디바이스 코드가 반환됩니다.

  2. 브라우저에서 로그인을 완료하면 URL이 제공됩니다.

  3. crm_login_status를 호출해 확인합니다. 로그인된 사용자가 확인되면 search_crm_accounts가 작동합니다.

토큰은 메모리에만 저장되므로, 서버를 재시작하면 다시 로그인해야 합니다.

라이선스

ISC

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • F
    license
    Not graded
    quality
    D
    maintenance
    Bridges stdio-based LLM harnesses to OAuth-protected remote MCP servers via Streamable HTTP, handling PKCE browser login and token refresh automatically.
    9
  • F
    license
    Not graded
    quality
    B
    maintenance
    Provides 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.

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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