Skip to main content
Glama
strelec00

testmo-mcp

by strelec00

Testmo MCP 서버

Testmo를 위한 Python Model Context Protocol (MCP) 서버 - Claude Desktop, Cursor 및 모든 MCP 호환 클라이언트에 AI 지원 테스트 관리 기능을 제공합니다.

Python FastMCP MCP

Testmo MCPClaude Desktop, Claude Code, Cursor와 같은 AI 어시스턴트를 Testmo 테스트 관리 인스턴스에 직접 연결하는 오픈 소스 MCP 서버입니다. AI 클라이언트를 벗어나지 않고도 자연어를 통해 테스트 케이스, 폴더, 마일스톤, 실행, 첨부 파일 및 CI/CD 자동화 소스를 관리할 수 있습니다.

Testmo를 사용하며 반복적인 작업을 위해 UI를 클릭하는 번거로움을 줄이고자 하는 QA 엔지니어, SDET 및 개발자를 위해 제작되었습니다. FastMCP와 Testmo REST API를 기반으로 합니다.


✨ 주요 기능

  • 🧪 전체 테스트 케이스 관리 — Testmo 케이스 생성, 읽기, 업데이트, 삭제, 검색 및 일괄 작업

  • 📁 폴더 작업 — 폴더 생성, 이름 변경, 이동, 삭제 및 폴더 트리 재귀적 탐색

  • 🚀 일괄 및 배치 작업 — 호출당 최대 100개의 케이스 생성 또는 업데이트, 자동 배치를 통한 무제한 작업

  • 🏃 테스트 실행 및 결과 — 실행 목록 조회, 실행 세부 정보 가져오기 및 실행 결과 필터링

  • 🎯 마일스톤 — 프로젝트 전반의 마일스톤 목록 조회 및 검사

  • 📎 첨부 파일 — 테스트 케이스에 파일 첨부, 목록 조회 및 삭제

  • 🤖 CI/CD 자동화 소스 — 자동화 실행, 병렬 스레드 및 결과 제출 관리

  • 🔗 이슈 통합 — GitHub, Jira 및 기타 이슈 연결 목록 조회

  • 🌳 재귀적 도우미 — 한 번의 호출로 전체 폴더 하위 트리의 케이스 가져오기

  • 🛠️ 필드 매핑 유틸리티 — 추측 없이 우선순위, 유형 및 상태 ID 확인

  • 🤝 모든 MCP 클라이언트와 호환 — Claude Desktop, Claude Code, Cursor, Cline 등


🚀 빠른 시작

사전 요구 사항

  • Python 3.11 이상

  • uv 패키지 관리자

  • Testmo 인스턴스 및 API 키 (Testmo의 설정 → API 키)

  • MCP 호환 클라이언트 (Claude Desktop, Cursor 등)

설치

git clone https://github.com/strelec00/testmo-mcp.git
cd testmo-mcp
uv sync

구성

프로젝트 루트에 .env 파일을 생성합니다:

TESTMO_URL=https://your-instance.testmo.net
TESTMO_API_KEY=your-api-key

Claude Desktop에 연결

Claude Desktop 구성 파일에 다음을 추가합니다:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "testmo": {
      "command": "uv",
      "args": ["--directory", "/absolute/path/to/testmo-mcp", "run", "testmo-mcp.py"],
      "env": {
        "TESTMO_URL": "https://your-instance.testmo.net",
        "TESTMO_API_KEY": "your-api-key"
      }
    }
  }
}

Claude Desktop을 다시 시작합니다. MCP 도구 목록에 Testmo 도구가 나타납니다.

💡 .env 또는 위의 env 블록을 통해 자격 증명을 전달할 수 있으며, 둘 다 작동합니다.

Cursor에 연결

Cursor 설정 → MCP를 열거나 ~/.cursor/mcp.json을 편집하고 동일한 JSON 스니펫을 사용합니다.

개발 / 테스트 모드

uv run mcp dev testmo-mcp.py

💬 예시 프롬프트

연결 후 AI 어시스턴트에게 다음과 같이 질문해 보세요:

  • "Testmo의 모든 프로젝트를 나열하고 'Certilligent'라는 프로젝트를 보여줘."

  • "유효한 자격 증명, 잘못된 비밀번호, 잠긴 계정, 만료된 세션 및 2FA 흐름을 다루는 20개의 로그인 테스트 케이스를 생성해줘."

  • "'Smoke Tests' 폴더를 찾아서 그 안에 있는 모든 높은 우선순위 케이스를 재귀적으로 나열해줘."

  • "폴더 42에 있는 모든 초안 상태의 케이스를 일괄 업데이트하여 우선순위를 높음으로 설정해줘."

  • "Playwright 소스에 대한 최신 자동화 실행을 보여주고 새로운 결과 스레드를 추가해줘."

  • "이 스크린샷을 테스트 케이스 1234에 첨부 파일로 업로드해줘."


🧠 왜 Testmo와 MCP를 함께 사용하나요?

기존의 Testmo 워크플로우는 모든 테스트 케이스, 폴더, 일괄 업데이트마다 UI를 탐색해야 합니다. Testmo MCP를 사용하면 AI 어시스턴트가 QA 공동 파일럿이 됩니다:

  • 기능 사양이나 PRD에서 몇 초 만에 전체 테스트 스위트 구성

  • 클릭 방식 대신 대화형으로 폴더 구조 리팩토링

  • 컨텍스트 전환 없이 Testmo를 코드베이스와 동기화 유지

  • Claude Code와 페어링하여 엔드투엔드 QA 자동화: Playwright 테스트 생성 및 Testmo에 등록

  • 터미널 세션에서 직접 CI/CD 자동화 실행 연결


🔧 사용 가능한 도구

프로젝트

도구

설명

testmo_list_projects

모든 프로젝트 나열

testmo_get_project

프로젝트 세부 정보 가져오기

폴더

도구

설명

testmo_list_folders

전체 경로와 함께 폴더 나열

testmo_get_folder

폴더 세부 정보 가져오기

testmo_create_folder

폴더 생성

testmo_update_folder

폴더 이름/상위 폴더 업데이트

testmo_delete_folder

폴더 및 해당 케이스 삭제

testmo_find_folder_by_name

이름으로 폴더 찾기

테스트 케이스

도구

설명

testmo_list_cases

케이스 나열 (페이지네이션)

testmo_get_all_cases

모든 케이스 가져오기 (자동 페이지네이션)

testmo_get_case

단일 케이스 세부 정보 가져오기

testmo_create_case

케이스 하나 생성

testmo_create_cases

최대 100개의 케이스 생성

testmo_batch_create_cases

무제한 케이스 생성 (자동 배치)

testmo_update_case

케이스 하나 업데이트

testmo_batch_update_cases

최대 100개의 케이스 일괄 업데이트

testmo_delete_case

케이스 하나 삭제

testmo_batch_delete_cases

여러 케이스 삭제 (자동 배치)

testmo_search_cases

필터를 사용하여 케이스 검색

마일스톤

도구

설명

testmo_list_milestones

마일스톤 나열

testmo_get_milestone

마일스톤 세부 정보 가져오기

테스트 실행

도구

설명

testmo_list_runs

테스트 실행 나열

testmo_get_run

실행 세부 정보 가져오기

testmo_list_run_results

필터를 사용하여 실행 결과 나열

첨부 파일

도구

설명

testmo_list_case_attachments

케이스 첨부 파일 나열

testmo_upload_case_attachment

파일 업로드 (base64)

testmo_delete_case_attachments

첨부 파일 삭제

자동화 (CI/CD)

도구

설명

testmo_list_automation_sources

CI/CD 소스 나열

testmo_get_automation_source

소스 세부 정보 가져오기

testmo_list_automation_runs

자동화 실행 나열

testmo_get_automation_run

자동화 실행 세부 정보 가져오기

testmo_create_automation_run

자동화 실행 생성

testmo_append_automation_run

아티팩트/필드/링크 추가

testmo_complete_automation_run

자동화 실행 완료

testmo_create_automation_run_thread

병렬 스레드 생성

testmo_append_automation_run_thread

스레드에 테스트 결과 제출

testmo_complete_automation_run_thread

스레드 완료

이슈 연결

도구

설명

testmo_list_issue_connections

통합 나열 (GitHub, Jira 등)

testmo_get_issue_connection

통합 세부 정보 가져오기

재귀적 / 복합 도구

도구

설명

testmo_get_folders_recursive

폴더 트리 가져오기

testmo_get_cases_recursive

폴더 트리에서 모든 케이스 가져오기

testmo_search_cases_recursive

폴더 하위 트리 내에서 검색

유틸리티

도구

설명

testmo_get_field_mappings

필드 값 ID 가져오기 (우선순위, 유형, 상태)

testmo_get_web_url

Testmo 웹 URL 생성


🛠️ 문제 해결

Claude Desktop에서 "Tool not found" 오류 발생 시 args에 절대 경로를 사용하고 구성을 편집한 후 Claude Desktop을 완전히 다시 시작하세요.

401 Unauthorized 오류 발생 시 TESTMO_API_KEY를 다시 확인하고 Testmo의 설정 → API 키에서 API 액세스가 활성화되어 있는지 확인하세요.

uv: command not found 오류 발생 시 uv를 설치하세요: curl -LsSf https://astral.sh/uv/install.sh | sh


🤝 기여

PR을 환영합니다. 큰 변경 사항은 먼저 이슈를 열어주세요.


📄 라이선스

MIT


🔗 관련 프로젝트

  • Testmo — 소프트웨어 팀을 위한 통합 테스트 관리

  • Model Context Protocol — AI 도구 통합을 위한 오픈 표준

  • FastMCP — MCP 서버 구축을 위한 Python 프레임워크

  • Claude Desktop — MCP를 지원하는 Anthropic의 데스크톱 클라이언트


키워드: testmo mcp, testmo claude, testmo ai 통합, mcp 서버 testmo, model context protocol testmo, testmo python, testmo api 클라이언트, fastmcp testmo, ai 테스트 관리, qa 자동화 claude, testmo cursor, testmo 자동화 api, testmo 일괄 케이스 생성, anthropic mcp 서버

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/strelec00/testmo-mcp'

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