메인 콘텐츠로 건너뛰기
Alforse는 Model Context Protocol(MCP) 서버를 운영하므로, AI 어시스턴트가 품목, 판매, 구매, 생산, 재고, 품질, 회계 등 ERP 데이터를 조회하고 다룰 수 있습니다. 회사의 누구나 자신의 어시스턴트를 연결할 수 있고, 개발자는 코딩 클라이언트와 스크립트를 연결할 수 있습니다. 어시스턴트는 연결된 사람 또는 키에 허용된 작업만 수행할 수 있습니다.

필요한 것

어시스턴트를 로그인시키는 방법은 두 가지입니다. 사용하는 클라이언트가 지원하는 방법을 선택하십시오.

브라우저 권한 부여로 연결

Alforse에서 먼저 설정할 것은 없습니다. 어시스턴트에 서버 URL을 추가하면 Alforse가 연결 승인을 요청합니다.

연결로 할 수 있는 일

  • 선택한 회사에서 사용자 본인으로서, 현재 권한과 정확히 같은 범위로 작동합니다. 권한이 바뀌면 어시스턴트의 권한도 함께 바뀝니다.
  • 해당 회사의 활성 구성원이 아니게 되면 작동을 멈춥니다.
  • 회사와 사용자는 항상 연결 자체에서 결정됩니다. 어시스턴트가 다른 인수를 전달해 회사를 바꾸거나 다른 사람으로 행동할 수 없습니다.

로그인의 내부 동작 방식

클라이언트가 이를 자동으로 처리합니다. 자체 클라이언트를 만드는 개발자를 위해 세부 사항을 여기에 기재합니다.
  • 그랜트 유형: authorization_code와 refresh_token. 응답 유형: code.
  • S256 PKCE. 공개 클라이언트(토큰 엔드포인트 인증 방식 none)는 코드 챌린지를 보내야 합니다.
  • 토큰 엔드포인트의 클라이언트 인증: client_secret_post 또는 none.
  • 범위: mcp:tools.
  • 인증 코드는 10분간 유효하며 한 번만 사용할 수 있습니다. 액세스 토큰은 1시간 동안 유효하며(expires_in: 3600), 클라이언트가 리프레시 토큰으로 갱신합니다.

API 키로 연결

브라우저 로그인을 열 수 없는 클라이언트와 스크립트에는 키를 사용합니다. 관리자가 설정 → API 키에서 생성하며, 키는 자체 권한 범위를 가지고 한 회사에 속합니다. 키를 만들고 범위를 지정하는 방법은 API 키를 참조하십시오. 키를 Authorization 헤더로 보냅니다.
alforse-key: alf_your_key_here 헤더도 허용됩니다.

클라이언트 구성

Cursor (프로젝트의 .cursor/mcp.json, 또는 기존 mcpServers에 병합)
VS Code (.vscode/mcp.json. VS Code가 키를 묻기 때문에 키가 파일에 저장되지 않습니다)
그 밖의 클라이언트: URL https://app.alforse.com/api/mcp와 Authorization: Bearer … 헤더를 제공합니다. URL 필드의 이름은 클라이언트마다 다르므로(예: url 또는 serverUrl) 클라이언트의 문서를 확인하십시오.

어시스턴트가 보는 도구

작업마다 도구를 하나씩 두는 대신, 서버는 모든 작업에 접근하는 세 가지 도구를 제공합니다. 작업은 계정, 회계, 문서, 재고, 청구, 품목, 인원, 생산, 구매, 품질, 자원, 판매, 설정, 공유, 사용자 영역에서 제공됩니다. Alforse가 명시적으로 게시한 작업만 사용할 수 있으며, 일부는 의도적으로 서버에서 제외되어 있습니다.
  • 모든 호출은 앱과 동일한 권한 확인을 거치며, 쓰기는 동일한 서비스 계층에서 검증됩니다.
  • 각 작업에는 위험 등급이 있어, 어시스턴트가 WRITE 또는 DESTRUCTIVE 작업을 실행하기 전에 사용자에게 확인할 수 있습니다.
  • 목록 조회는 기본적으로 25행을 반환합니다. 어시스턴트는 limit(1–100)과 offset으로 페이지를 넘깁니다.
  • 어시스턴트는 회사 시간대 기준의 오늘 날짜를 전달받으므로 “지난주” 같은 상대적 날짜가 올바르게 해석됩니다.

제한

제한에 도달하면 서버는 429와 함께 Retry-After, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset 헤더로 응답합니다. Retry-After에 명시된 초만큼 기다린 다음 다시 시도하십시오.

문제 해결

관련 문서