ALDOL MCP Forge 🔧
자연어 템플릿 + OpenAPI에서 MCP 서버 소스코드를 생성하는 로컬 제작기.
외부 서비스에 등록하거나 자동 배포하지 않습니다. Python 3.11+ 필요.
이 페이지는 소개 페이지입니다.
Forge는 내 컴퓨터에서 실행하는 로컬 도구이며, 이 웹사이트에서 MCP 서버가 돌아가지 않습니다. 소스코드는 GitHub 공개 저장소에서 받고 로컬에서 실행하세요.
Forge는 내 컴퓨터에서 실행하는 로컬 도구이며, 이 웹사이트에서 MCP 서버가 돌아가지 않습니다. 소스코드는 GitHub 공개 저장소에서 받고 로컬에서 실행하세요.
현재 검증 상태 (v0.3.2)
- 공개 저장소
aldol2678/aldol-mcp-forge, main 커밋769bd658 - 공식 GitHub Actions run 39315805343: 두 작업 모두 success
- 오프라인 회귀: 26 tests, 25 passed, 1 skipped (Python 3.12, Ubuntu 24.04)
- 공식 Python MCP SDK
mcp==2.0.0: 생성 예제aldol-openapi-pets와aldol-game-html-audit의 인메모리 및 stdio 도구 조회·호출 2/2 예제 PASS - 검증 범위 밖: ChatGPT/Claude 실제 클라이언트 연결, 임의의 제3자 MCP 코드 격리, 실제 운영 API 호출, 완전한 보안 샌드박스
하는 일
- OpenAPI 3.0/3.1 JSON → MCP GET 도구:
operationId마다 공식 Python MCP SDK v2용@app.tool()함수를 생성합니다. 최대 12개 GET, 인라인 경로·쿼리 매개변수의 문자열/정수/불리언 타입만 지원합니다. POST/PUT/PATCH/DELETE 등은 제외합니다. - 안전한 기본 모드: 생성된 GET 도구를 호출해도 실제 API에 요청하지 않고 경로와 매개변수를 반환하는
dry_run이 기본입니다. 명시적으로 공개 HTTPS 기반 URL과 같은 호스트 허용값을 모두 제공했을 때만 원격 GET을 허용합니다. - 일관된 패키징·검증: 스펙/소스의 SHA-256, 재생성 결과, 심볼릭 링크 및 예기치 않은 파일 검사. 신규 프로젝트는 임시 디렉터리에서 검증한 다음 생성합니다.
도구 총 8개
| 도구 | 기능 |
|---|---|
forge_list_templates | 기존 3개 읽기 전용 템플릿 조회 |
forge_preview | 자연어 템플릿 매칭 |
forge_create | 기존 HTML/JSON/텍스트 도구 프로젝트 생성 |
forge_add_tool | 기존 큐레이션 프로젝트에 안전한 도구 추가 및 백업 |
forge_test | 프로젝트 소스 무결성 및 호환 스모크 테스트. SDK 설치 시 인메모리 검증 |
forge_package | 로컬 ZIP 작성. 동일 버전 덮어쓰기 방지 |
forge_preview_openapi | OpenAPI 3 JSON의 지원 GET·제외 작업 미리보기 |
forge_import_openapi | project_name, spec_json, 선택적 isolation로 새 OpenAPI GET 프로젝트 생성 |
로컬 실행
git clone https://github.com/aldol2678/aldol-mcp-forge.git
cd aldol-mcp-forge
python3 forge.py
python3 -m unittest discover -s tests -v
python3 examples/run_openapi_demo.py
실제 클라이언트에서 이 Forge 자체를 stdio 서버로 실행하려면 MCP 서버 설정에 아래 항목을 등록하세요. 파일 경로는 사용자 환경의 절대 경로로 바꿔야 합니다.
{
"mcpServers": {
"aldol-mcp-forge": {
"command": "python3",
"args": ["/ABSOLUTE/PATH/aldol-mcp-forge/forge.py"]
}
}
}
네트워크 / 보안 제한
생성된 도구는 기본으로 dry_run입니다. 실제 읽기 요청을 허용하려면 생성된 프로젝트의 서버 프로세스 환경에서 아래 값을 설정해야 합니다. 실제 API의 주소를 정확히 알고 신뢰할 때에만 수행하세요.
ALDOL_API_BASE_URL='https://api.example.com/v1'
ALDOL_API_ALLOWED_HOST='api.example.com'
실제 연결 모드에서는 공개 IP로 해석되는 HTTPS:443 목적지만 허용하고 리다이렉트 없이 JSON 응답을 제한 크기 내에서 수신합니다. DNS 재바인딩·프록시 환경을 완전하게 격리하는 보안 경계는 아니며, OAuth/API 키는 구현되지 않았습니다. 외부 실행은 실제 사용자가 별도 승인·설정해야 합니다. 임의의 신뢰할 수 없는 코드나 OpenAPI 문서를 운영 환경에 곧바로 배포하면 안 됩니다.
참고
- Forge 자체의
forge.py는 경량 stdio JSON-RPC 런타임이며 아직 공식 SDK 기반으로 전환하지 않았습니다. 공식 SDK PASS는 Forge가 생성한 예제 서버에 관한 결과입니다. - 공식 Python MCP SDK v2 문서: py.sdk.modelcontextprotocol.io/v2
- 라이선스: MIT