For the complete documentation index, see llms.txt. This page is also available as Markdown.

Find Project Test Cases

Description

Lists the test cases allocated to one AttackForge project. A project test case is a per-project instance of a library test case - it carries the testing state for that project: status, who it is assigned_to, which project scope items it covers, which vulnerabilities it uncovered, and whether it is locked.

It does not carry the descriptive fields (title, details, code, tags): those live on the parent library test case. Take testcase_id from these results and pass it to find_testcases via its testcase_ids parameter to resolve them.

The caller must have access to the project's test cases. Results are paginated (default 10 per page, max 50). See Test Cases and Methodology.

How To Enable

  1. Go to Users

  2. Select the user you would like to provide access to this tool

  3. Click on Access > MCP

  4. Click on Add Tools

  5. Select the tool find_project_testcases and click Add

Example Prompts

  • Show me the test cases for project X and their statuses.

  • Which test cases in project X are still not tested?

  • What test cases are assigned to me on the ACME project?

  • Show me the test cases in project X that are unassigned.

  • Which test cases uncovered vulnerabilities in this project?

  • Which scope items does each test case in project X cover?

  • List the locked test cases on this project.

Parameters

Parameter
Type
Required
Description

project_id

string

Yes

Id (24-hex) of the project whose test cases you want to list. Source: find_projects. The caller must have access to this project's test cases.

filter

object

No

A MongoDB-style filter. Supported fields are listed below.

fields

array

No

System fields to include (id is always returned). Supported values are listed below.

custom_field_keys

array

No

Custom field keys to include (discover via get_field_structure(model="project-testcase") - these are distinct from the custom fields on library test cases).

limit

integer

No

Maximum records to return in this page. Default 10, max 50.

skip

integer

No

Number of records to skip (offset). Default 0.

Supported filter fields:

Field
Type / Values

id

ObjectId('<24 hex>') - the project test case id

created, modified

ISO-8601 datetime

status

one of 'Tested', 'Not Tested', 'Testing In Progress', 'Not Applicable'

assigned_to

ObjectId('<24 hex>') - the user the test case is assigned to

locked

boolean - supports $eq, $ne and $exists only

custom_fields

array of { key: string, value: string or array }

testcase_id

ObjectId('<24 hex>') - the parent library test case

user_id

ObjectId('<24 hex>')

Disallowed inside filter: project_id (use the parameter), and title, details, code, tags, sort_order, testsuite_id - these live on the parent library test case. To narrow by them, call find_testcases first and filter on the resulting testcase_id values.

Supported fields values:

Field
Type

id

string

created, modified

ISO-8601 datetime

status

one of 'Tested', 'Not Tested', 'Testing In Progress', 'Not Applicable'

assigned_to

string

project_scope_ids

array of string

locked

boolean

files

array of { id, created, modified, name, mimeType, hash, size, storage_name, storage_location }

testcase_id

string

user_id

string

vulnerability_ids

array of string

Example Response

Last updated