TestRail MCP Server (valvacchs/PlayWright-MCP-Repo) is an MCP server listed on the M8ven Trust Index. It scores 47 out of 100, grade D. It declares 40 tools. No publisher has claimed this listing.
Enables management of TestRail projects, suites, test cases, runs, and results through natural language.
Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.
How we verified
Verified is a snapshot. Live keeps it current, and builds your track record.
⚡ Connect GitHub → continuous verification on every pushwhy connect →Who stands behind it
valvacchs
Source: Glama
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →
Install from
The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.
These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.
getCaseRetrieves complete details for a single test case including steps, expected results, and prerequisites. REQUIRED: caseId.
getCasesRetrieves test cases list with basic fields only (excludes steps/expected results for performance). REQUIRED: projectId, suiteId. OPTIONAL: createdBy, filter, limit (default 50), milestoneId, offset (default 0), priorityId, refs, sectionId, templateId, typeId, updatedBy, labelId. Use getCase for ful…
addCaseCreates a new test case in TestRail. REQUIRED: sectionId, title. OPTIONAL: typeId, priorityId, templateId, customSteps, customExpected, customStepsSeparated, customFields, etc. Use getCaseTypes to find valid typeId values. NOTE: templateId=2 is required to use customStepsSeparated (array of step obj…
updateCaseUpdates an existing test case. REQUIRED: caseId. OPTIONAL: title, typeId, priorityId, templateId, customSteps, customExpected, customStepsSeparated, customFields, etc. Only specified fields will be updated. NOTE: templateId=2 is required to use customStepsSeparated (array of step objects with 'conte…
deleteCaseDeletes a test case from TestRail / TestRailからテストケースを削除します
getCaseTypesRetrieves all available test case types in TestRail / TestRailで利用可能な全テストケースタイプを取得します
getCaseFieldsRetrieves all available test case fields in TestRail / TestRailで利用可能な全テストケースフィールドを取得します
copyToSectionCopies specified test cases to a target section while keeping the originals / 指定されたテストケースを対象のセクションにコピーし、元のケースは保持します
moveToSectionMoves specified test cases to a target section / 指定されたテストケースを対象のセクションに移動します
getCaseHistoryRetrieves the change history of a test case including updates to fields and custom fields / テストケースの変更履歴(フィールドとカスタムフィールドの更新を含む)を取得します
updateCasesUpdates multiple test cases simultaneously with the same field values / 複数のテストケースを同じフィールド値で一括更新します. NOTE: templateId=2 is required to use customStepsSeparated (array of step objects with 'content' and 'expected' fields). For simple text steps, use customSteps and customExpected instead. Use customFi…
addBddImports/uploads a .feature file (Gherkin BDD scenario) into a TestRail section. Creates a new test case with BDD template (template_id=4) and populates the custom_testrail_bdd_scenario field. REQUIRED: sectionId, featureContent (raw Gherkin text including Feature:, Scenario:, Given/When/Then).
getBddExports a BDD test case as a .feature file in Gherkin format. REQUIRED: caseId.
getMilestonesRetrieves all milestones for a specified TestRail project / 指定されたTestRailプロジェクトの全マイルストーンを取得します
getPlansRetrieves all test plans for a specified TestRail project / 指定されたTestRailプロジェクトの全テストプランを取得します
addPlanCreates a new test plan in a TestRail project / TestRailプロジェクトに新しいテストプランを作成します
addPlanEntryAdds a new test plan entry to an existing test plan / 既存のテストプランに新しいテストプランエントリーを追加します
addRunToPlanEntryAdds a new test run to an existing plan entry / 既存のプランエントリーに新しいテストランを追加します
getProjectsRetrieves all TestRail projects / すべてのTestRailプロジェクトを取得します
getProjectRetrieves details of a specific TestRail project by ID / 特定のTestRailプロジェクトの詳細をIDで取得します
getResultsRetrieves test results for a specific test / 特定のテストのテスト結果を取得します
getResultsForCaseRetrieves test results for a specific test case in a test run / テスト実行内の特定のテストケースのテスト結果を取得します
getResultsForRunRetrieves all test results for a test run / テスト実行の全テスト結果を取得します
addResultForCaseAdds a test result for a specific test case in a test run / テスト実行内の特定のテストケースにテスト結果を追加します
addResultsForCasesAdds test results for multiple test cases in a test run / テスト実行内の複数のテストケースにテスト結果を追加します
getRunsRetrieves all test runs for a specified TestRail project / 指定されたTestRailプロジェクトの全テスト実行を取得します
getRunRetrieves details of a specific test run by ID / 特定のテスト実行の詳細をIDで取得します
addRunCreates a new test run in a TestRail project / TestRailプロジェクトに新しいテスト実行を作成します
updateRunUpdates an existing test run / 既存のテスト実行を更新します
getSectionRetrieves details of a specific section by ID / 特定のセクションの詳細をIDで取得します
getSectionsRetrieves sections for a specified project and suite. Supports pagination via limit and offset parameters (default: limit=250, offset=0). Use _links.next to determine if more pages are available. / 指定されたプロジェクトとスイートのセクションを取得します。limitとoffsetパラメータでページネーションをサポートします。
addSectionCreates a new section in a TestRail project / TestRailプロジェクトに新しいセクションを作成します
moveSectionMoves a section to a new position in the test hierarchy / テスト階層内の新しい位置にセクションを移動します
updateSectionUpdates an existing section / 既存のセクションを更新します
deleteSectionDeletes a section / セクションを削除します
getSharedStepsRetrieves all shared steps for a specified TestRail project / 指定されたTestRailプロジェクトの全共有ステップを取得します
getSuitesRetrieves all test suites for a specified TestRail project / 指定されたTestRailプロジェクトの全テストスイートを取得します
getSuiteRetrieves details of a specific test suite by ID / 特定のテストスイートの詳細をIDで取得します
addSuiteCreates a new test suite in the specified project / 指定されたプロジェクトに新しいテストスイートを作成します
updateSuiteUpdates an existing test suite / 既存のテストスイートを更新します
Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.
form-data uses unsafe random function in form-data for choosing boundary
form-data: CRLF injection in form-data via unescaped multipart field names and filenames
TESTRAIL_API_KEY"": "YOUR_API_KEY" // Replace with your TestRail API keyTESTRAIL_URL"": "https://your-instance.testrail.io", // Replace with your TestRail URLTESTRAIL_USERNAME"": "your-email@example.com", // Replace with your TestRail usernameDependencies
14 dependencies, 3 flagged: @playwright/cli, @playwright/test, allure-playwright
Tool annotations
No tools have read-only/destructive annotations
Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.
All four hints declared on every tool
40/40 tools missing one or more hints — getCase (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); getCases (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); addCase (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +37 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.
For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.
Tool inputs are validated
Only 19/40 tool handlers declare input schemas (48%)
Declare an inputSchema with zod/joi/yup on every tool definition.
Tool test coverage
31/40 tools referenced in tests (78%)
Write tests that reference each tool by name so every tool has at least one test.
Tests pass
npm test failed — tests do not pass
Make sure npm test runs cleanly. Common cause: missing build step or missing env vars.
Production dependencies are patched
1 critical, 1 high severity in production deps — form-data@4.0.0 (critical), form-data@4.0.0 (high)
Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.
Domain consistency
npm scope @bun913 doesn't match GitHub owner valvacchs
Use the same org name across GitHub, npm, and your homepage so users can verify the publisher.
Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.
[](https://m8ven.ai/mcp/valvacchs/playwright-mcp-repo)?variant=verified from the URL.Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.
https://m8ven.ai/api/mcp/tool-check