GAIIA Expert Proxy (MCP Server)
GAIIA Unified MCP Server (v2.0.0)
GAIIA Unified MCP Server는 AI 코딩 어시스턴트와 자율 에이전트를 GAIIA 생태계에 연결하는 엔터프라이즈급 Model Context Protocol (MCP) 서버입니다. 전문가 가이드 코드 감사, 프로젝트 변환, BPMN 프로세스 트리거링, 멀티프로토콜 API 인터로게이션을 지원합니다.
🌟 기능 및 특징
전문가 선택 및 매니페스트 라우팅: 프록시 전문가(예: Clean Architecture, Security, Performance, Transit 도메인) 레지스트리에서 탐색하고 선택합니다.
코드 변환 및 감사: 개별 코드 블록을 변환하거나 변경할 수 없는 아키텍처 표준에 따라 저장소 전체 감사를 수행합니다.
멀티프로토콜 API 인터로게이션: 다양한 프로토콜에서 스키마를 퍼징하고 발견합니다:
REST (JSON): OpenAPI v3 합성.
GraphQL: 스키마 인트로스펙션 및 자동 도구 생성.
gRPC (Protobuf): 서버 리플렉션 검사 (
src/mock/mock-grpc-server.ts).ISO 8583 (TCP Sockets): 결제 게이트웨이를 위한 원시 소켓 통신 (
src/mock/mock-tcp-server.ts).XML / SOAP:
.xsd및.wsdl자동 파싱.EDI (ANSI X12): 레거시 엔터프라이즈 공급망 형식의 세그먼트 복구.
OData & ERP: 엔터프라이즈 메타데이터 해석 (
src/mock/mock-erp-server.ts).
BPMS 프로세스 오케스트레이션: gaiia-process-management에서 BPMN 청사진을 나열하고 워크플로 실행을 트리거합니다.
텔레메트리 및 컨텍스트 유지:
src/services/telemetry-service.ts를 통한 인메모리 컨텍스트 추적 및 텔레메트리 로깅.
Related MCP server: docsgrep
⚙️ 설치 및 빌드
사전 요구 사항
Node.js: v20+ LTS
npm: v9+
클라우드 레지스트리 동기화를 위한 등록된 GAIIA 계정
설정
# 1. Navigate to directory
cd gaiia-mcp-server
# 2. Install dependencies
npm install
# 3. Build TypeScript
npm run build🔐 인증
GAIIA 플랫폼에 인증하여 세션 토큰을 로컬에 캐시합니다:
npm run login토큰은 ~/.gaiia/auth.json에 안전하게 캐시됩니다.
🔧 환경 구성 (.env)
GAIIA_GRAPHQL_ENDPOINT=https://<api-id>.appsync-api.ap-southeast-2.amazonaws.com/graphql
AWS_REGION=ap-southeast-2
USER_POOL_ID=ap-southeast-2_xxxxxxxxx
APP_CLIENT_ID=xxxxxxxxxxxxxxxxxxxxxxxxxx🔌 MCP 클라이언트 구성 (예: Claude Desktop)
서버를 claude_desktop_config.json에 추가하세요:
{
"mcpServers": {
"gaiia-unified-mcp": {
"command": "node",
"args": ["c:/programming/aiia/gaiia-mcp-server/build/index.js"]
}
}
}🛠️ 사용 가능한 MCP 도구 참조
도구 이름 | 목적 | 주요 인자 |
| 레지스트리의 모든 사용 가능한 AI 전문가를 나열합니다. |
|
| 변환에 사용할 활성 전문가를 설정합니다. |
|
| 활성 전문가와 함께 코드를 감사, 리팩터링 또는 생성합니다. |
|
| 디렉터리에 대해 심층 아키텍처 감사 또는 자동 리팩터링을 수행합니다. |
|
| 디렉터리 코드 샘플을 활성 전문가 메모리에 수집합니다. |
|
| 멀티프로토콜 API 퍼징 및 스키마 합성. |
|
|
| 없음 |
| 작업 공간에 등록된 BPMN 템플릿을 나열합니다. | 없음 |
| 초기 컨텍스트로 BPMN 워크플로 실행을 트리거합니다. |
|
🧪 로컬 테스트 및 멀티프로토콜 목 서버
서버는 외부 종속성 없이 복잡한 프로토콜을 테스트하기 위해 src/mock/에 독립형 목 서버를 포함합니다:
# Start mock gRPC server
npx tsx src/mock/mock-grpc-server.ts
# Start mock ISO 8583 TCP socket server
npx tsx src/mock/mock-tcp-server.ts
# Start mock ERP / OData server
npx tsx src/mock/mock-erp-server.ts📄 라이선스
MIT © 2026 GAIIA Engineering
Available Tools
8 toolsgaiia_analyze_projectC
Perform a deep architectural audit of an entire local project directory.
| Name | Required | Description | Default |
|---|---|---|---|
| directory_path | Yes | The absolute path to the project directory | |
| mode | No | Default is 'audit'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description must disclose all behavioral traits. It only mentions 'deep architectural audit' without specifying if it modifies files, requires permissions, or produces output. The mode parameter hints at different behaviors but is not elaborated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences, front-loaded with the action. It avoids unnecessary details, though it could be slightly more descriptive without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having two parameters and no output schema, the description is too sparse. It does not explain what the audit entails, how the mode differs, or what the output looks like, which is inadequate for a potentially complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters. The description adds no extra meaning beyond 'deep architectural audit' and does not enrich the understanding of directory_path or mode usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs a deep architectural audit of a local project directory, which is a specific verb and resource. However, it does not explicitly differentiate from sibling tools like gaiia_transform, which could also involve project analysis, leading to a slight deduction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives (e.g., gaiia_transform, sync_specs). The description lacks context for preference or exclusion conditions, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gaiia_list_expertsC
List available AI experts and their specialties.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Optional search query |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full transparency burden. It conveys a read operation but omits any details about side effects, authentication requirements, rate limits, or output format. Minimal behavioral context beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no extraneous words. It is appropriately front-loaded, though slightly under-specified for the parameter usage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional param, no output schema), the description provides enough to understand the core function. It mentions output includes specialties, but does not describe the response structure or provide an example, leaving minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for the single optional query parameter. However, the tool description does not elaborate on how the query filters results (e.g., by name or specialty), offering no added value over the schema. A brief hint would improve usability.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists AI experts and their specialties, distinguishing it from sibling tools like gaiia_list_processes and gaiia_analyze_project. A slight lack of specificity about what constitutes an 'expert' prevents a higher score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or exclusions. The agent receives no context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gaiia_list_processesA
List all registered BPMN process blueprints/templates in the GAIIA registry for the authenticated tenant.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears the full burden. It states the resource type and scope but does not disclose behaviors like pagination, ordering, or whether only active blueprints are returned. It provides basic but adequate transparency for a simple list operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-structured sentence of 15 words, front-loaded with the action and resource. No unnecessary information; every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity (no parameters, no output schema), the description is mostly complete. It could mention return format or pagination, but the lack of such details is not critical for a list operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema coverage is 100%. Per guidelines, the baseline for 0 parameters is 4. The description adds no parameter information, which is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List'), the resource ('BPMN process blueprints/templates'), and the scope ('for the authenticated tenant'). It effectively distinguishes from sibling tools like gaiia_start_process and gaiia_analyze_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., gaiia_start_process). There is no when-not or exclusion criteria, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gaiia_set_active_expertC
Select an expert to use for code transformations.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | The email of the expert |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It does not disclose side effects (e.g., overwriting previous selection), validation of email, or whether the expert must exist. The behavior is under-specified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence that clearly states the tool's action. It is concise and contains no fluff, though it could benefit from additional context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given low complexity (1 param, no output schema), description is somewhat complete but fails to mention return value or prerequisites (e.g., expert must exist). Lacks detail for fully uninformed use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one string parameter 'email' described as 'The email of the expert'. Description does not add extra meaning beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'select' and resource 'expert', and distinguishes from sibling tools like gaiia_list_experts and gaiia_transform by implying selection of an active expert for transformations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., before gaiia_transform or after listing experts). No explicit when-not or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gaiia_start_processB
Starts/triggers an instance of a registered BPMN process blueprint with an optional custom payload.
| Name | Required | Description | Default |
|---|---|---|---|
| process_type | Yes | The unique processType/slug of the BPMN blueprint (e.g. driver-roster-change) | |
| payload | No | Optional custom JSON payload context for the process run |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations; description does not disclose side effects, such as whether the call is asynchronous, idempotent, or what state changes occur. For a trigger action, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no fluff, but lacks enough detail to be efficiently informative. Could be improved with more context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 2 params, no output schema, no annotations, the description is incomplete. Missing error behavior, success indication, or execution mode (sync/async).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%; the description repeats the payload's optional nature but adds no new meaning. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'starts/triggers' and the resource 'registered BPMN process blueprint', and mentions the optional payload. It effectively distinguishes from siblings like gaiia_list_processes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. Missing prerequisites (e.g., process blueprint must exist) and when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gaiia_transformC
Audit, refactor, or generate code using the active GAIIA expert.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | The code block to process | |
| instructions | Yes | Instructions for the expert |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It mentions auditing, refactoring, or generating code but does not explain side effects (e.g., file modifications), prerequisites (e.g., active expert must be set), or safety considerations. This is insufficient for a transformation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 10 words, which is concise but lacks front-loaded specifics. While it conveys the core purpose, it does not earn its place fully due to vagueness and missing details that would aid agent selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema and two simple parameters, the description should provide more context about return values, behavioral outcomes, or typical use cases. It fails to do so, leaving gaps in understanding for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptions for 'code' and 'instructions'. The tool description does not add any additional meaning or context for these parameters, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's actions ('Audit, refactor, or generate code') and resource ('using the active GAIIA expert'). It distinguishes from siblings by specifying the active expert, though could be more explicit about differences from tools like gaiia_analyze_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like gaiia_analyze_project or gaiia_start_process. It lacks any 'when-to-use' or 'when-not-to-use' information, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
interrogate_endpointB
Intelligently interrogates a REST endpoint to discover its schema via reinforcement learning loop.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The full URL of the endpoint. | |
| method | Yes | ||
| auth_header | No | Optional Authorization header. | |
| base_payload | No | Optional base JSON payload. | |
| extra_headers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It mentions a 'reinforcement learning loop' but does not explain its implications (e.g., time consumption, network activity, state changes). The agent cannot assess safety or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise and front-loaded. However, the phrase 'intelligently' and 'reinforcement learning loop' could be seen as slightly verbose. Overall, it efficiently conveys the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complex behavior (RL loop, output schema discovery) and lack of output schema, the description is incomplete. It does not explain the loop's mechanics, return format, or termination conditions, leaving the agent without crucial context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 5 parameters with 60% description coverage. The description does not elaborate on parameters beyond the schema. Though the schema provides some meaning (e.g., url, auth_header), the description adds no extra value for parameter comprehension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: it intelligently interrogates a REST endpoint to discover its schema via reinforcement learning. The verb 'interrogate' and resource 'REST endpoint' are specific, and the mention of schema discovery differentiates from the listed sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as before integrating with an unknown API. It lacks explicit context, prerequisites, or exclusion criteria, leaving the agent to infer usage from the description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sync_specsA
Synchronizes all locally discovered API specifications in the 'specs/' directory to the GAIIA Registry.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It implies a write operation ('synchronizes') but does not state if data is overwritten, if authentication is needed, or what happens on conflict. Minimal disclosure beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no fluff. Could benefit from additional context but is appropriately concise for a zero-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Describes action and scope, but lacks details on side effects (e.g., is it one-way upload?), prerequisites (must specs/ exist?), or output. Adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist (input schema empty). Baseline for 0 parameters is 4, and description adds no parameter details, which is acceptable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('synchronizes'), source ('specs/ directory'), target ('GAIIA Registry'), and resource ('API specifications'). It clearly distinguishes from sibling tools like gaiia_analyze_project which focuses on analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. The description is self-contained but lacks context about prerequisites or situations where sync is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
v1.0.0- First observed
gaiia_analyze_project - First observed
gaiia_list_experts - First observed
gaiia_list_processes - First observed
gaiia_set_active_expert - First observed
gaiia_start_process - First observed
gaiia_transform - First observed
interrogate_endpoint - First observed
sync_specs
TDQS
Scored across 8 tools
Each tool has a clearly distinct purpose: project analysis, expert listing/selection, process listing/starting, code transformation, API interrogation, and spec syncing. No significant overlap.
Six of eight tools use the consistent 'gaiia_' prefix with verb_noun pattern, but two tools ('interrogate_endpoint', 'sync_specs') lack the prefix, creating a mixed naming convention.
With 8 tools, the set is well-scoped for a proxy server providing GAIIA platform operations, covering multiple areas without being overwhelming.
The tool surface covers core workflows (expert management, project analysis, process execution, code transformation, API spec handling), but lacks a get_active_expert tool and some CRUD operations, leaving minor gaps.
Maintenance
Related MCP Connectors
An MCP server for deep research or task groups
Independent trust scores, tool surfaces and change history for MCP servers.
A MCP server built for developers enabling Git based project management with project and personal…
Repository knowledge graph MCP server for codebase understanding and debugging.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server for comprehensive code analysis, navigation, and quality assessment across 25+ programming languages.988MIT
- AlicenseBqualityDmaintenanceA high-performance MCP server for intelligent documentation search, proactive bug detection, and semantic analysis of codebases.2515 npmMIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that transforms Claude Code into an intelligent refactoring assistant, enabling code scanning, hotspot detection, optimization reports, and safe refactoring for large repositories.45 npm9MIT
- AlicenseAqualityCmaintenanceAn MCP server that extracts complete knowledge from any codebase — architecture, patterns, dependencies, API surface. Combines static analysis with AI-powered deep interpretation.8MIT