Skip to main content
Glama
ajemssolutions

AJEMS MCP Connector

Official

AJEMS MCP 커넥터

Claude와 ChatGPT가 누구도 AJEMS에 로그인하지 않고도 AJEMS 워크스페이스에 대한 질문에 답하고 — 선택적으로 앱, 폼, 레코드를 생성할 수 있게 해줍니다.

하나의 배포로 모든 테넌트를 지원합니다. 사용자는 조직 이름과 AJEMS 비밀 키로 로그인합니다.


파일

파일

역할

server.js

구성, 인증, HTTP 전송, 상태 확인, 종료

tools.js

AI가 호출할 수 있는 모든 도구

ajems.js

AJEMS API와 통신하는 유일한 모듈

oauth.js

Claude와 ChatGPT가 요구하는 OAuth 핸드셰이크

cache.js

테넌트별 캐싱 및 업스트림 동시성 제한

util.js

작은 공유 헬퍼

diagnose.js

11단계 종단 간 검사기

mock-ajems.js

라이브 워크스페이스 없이 테스트하기 위한 샘플 데이터가 있는 가짜 AJEMS


Related MCP server: BackCrew ServiceM8 MCP Server

빠른 시작

npm install
cp .env.example .env      # set PUBLIC_URL and AJEMS_HOST_TEMPLATE
npm start

실제 워크스페이스로 검증:

node diagnose.js https://mcp.ajems.com <organisation> <secret-key>

또는 AJEMS 없이 시도:

npm run mock              # terminal 1
# set AJEMS_HOST_TEMPLATE=http://localhost:9090/{org}/json_builder
npm start                 # terminal 2
node diagnose.js http://localhost:8080 testco test-secret-key

nginx, TLS, pm2 및 튜닝에 대해서는 DEPLOY.md를 참조하세요.


도구

기본적으로 읽기 전용입니다. 네 가지 쓰기 도구에 대해 ALLOW_WRITES=true를 설정하세요.

도구

용도

list_apps_and_forms

검색 — 읽기/쓰기 플래그가 있는 모든 앱과 폼

describe_form

필드 키, 사람이 읽는 라벨, 유형, 드롭다운 옵션

query_responses

필터, 날짜 범위, 필드 선택이 있는 레코드

aggregate_responses

count / sum / avg / min / max, 선택적으로 그룹화

create_app

새 앱

create_form

새 폼; 필드 키 자동 생성

create_record

하나 또는 여러 레코드, 제한된 동시성으로 삽입

update_record

기존 레코드의 필드 변경

search

폼과 레코드 전반의 키워드 검색 (ChatGPT)

fetch

검색 결과 하나의 전체 세부 정보 (ChatGPT)

aggregate_responses는 서버에서 계산합니다. 이것이 없으면 "도시별 합계"는 수천 개의 행을 모델의 컨텍스트로 가져와 손으로 세어야 합니다 — 느리고, 비싸고, 일정 규모를 넘어서면 틀립니다.

searchfetch가 존재하는 이유는 Developer Mode 밖에서 ChatGPT는 이 두 이름의 도구만 호출하고 나머지는 모두 무시하기 때문입니다.


질문이 답변되는 방식

Claude가 *"7월 항목이 도시별로 몇 개인가?"*라고 묻습니다:

  1. list_apps_and_forms → 폼을 찾습니다

  2. describe_formdate_1750943312417이 날짜 필드이고 dropdown_1750943301432가 도시를 담고 있음을 알게 됩니다

  3. 날짜 범위와 group_byaggregate_responses → 세 개의 숫자를 돌려받습니다

  4. 평이한 영어로 답을 작성합니다

필드 키는 자동 생성되므로(date_1750943312417) 2단계는 선택 사항이 아닙니다. 도구 설명이 모델에게 이를 알려주고, 모델이 스스로 호출을 연결합니다.


테넌트 격리

  • 테넌트는 세션에서 오며, 베어러 토큰에서 서버 측에서 확인됩니다

  • 어떤 도구 스키마에도 tenant, org 또는 url 매개변수가 없습니다 — 모델이 변경하도록 유도될 수 있는 것이 없습니다

  • ajems.js는 아웃바운드 요청을 발행하는 유일한 모듈이며, 해당 테넌트의 기본 URL에만 요청합니다

  • 캐시 키는 테넌트 비밀 키의 해시로 네임스페이스가 지정되므로, 테넌트는 서로의 캐시 항목을 읽을 수 없고 회전된 키는 자동으로 만료됩니다

  • 조직 이름은 서브도메인에 안전한 문자로 축소되므로, evil.com/x 같은 항목이 서버를 다른 곳으로 리디렉션할 수 없습니다

  • 모든 도구 호출은 테넌트와 사용자와 함께 JSON으로 기록됩니다

도구를 추가할 때 두 번째 항목을 다시 확인하세요.


테스트

목(mock)에 대해 46개의 검사가 통과합니다: 인증, 10개 도구 전체, 필터, 날짜 범위, created_at 폴백, 그룹화된 집계, 대량 삽입, 쓰기 후 캐시 무효화, 오류 메시지, 테넌트 격리, 20명의 동시 사용자, 속도 제한.

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

0Maintainers
No issuesResponse time
0Releases (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 Connectors

Related MCP Servers

  • A
    license
    B
    quality
    B
    maintenance
    Enables an AI assistant to interact with ServiceM8 via natural language, supporting lookups and optionally creating or updating records, with tiered safety controls.
    36
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to interact with Jurisly workspaces for tasks like drafting invoices, finding hearing dates, and editing documents through natural language.
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to directly interact with ERPNext/Frappe business data and operations, including document management, submissions, cancellations, reports, PDF generation, file uploads, and whitelisted method calls, with per-request permission enforcement.
    MIT

View all related MCP servers

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/ajemssolutions/MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server