> For the complete documentation index, see [llms.txt](https://support.attackforge.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://support.attackforge.com/app/modules/ai-mcp-and-skills/count-project-test-cases.md).

# Count Project Test Cases

#### Description <a href="#description" id="description"></a>

Returns the number of 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, and whether it is `locked`. Use this when you only need a total - call `find_project_testcases` to retrieve the test cases themselves.

The caller must have access to the project's test cases; if not, an access-denied error is returned. See Test Cases and Methodology.

#### How To Enable <a href="#how-to-enable" id="how-to-enable"></a>

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 `count_project_testcases` and click `Add`

#### Example Prompts <a href="#example-prompts" id="example-prompts"></a>

* *How many test cases are in project X?*
* *How many test cases in project X are still not tested?*
* *How many test cases are assigned to me on this project?*
* *How many test cases in project X are unassigned?*
* *How many test cases have been locked on this project?*

#### Parameters <a href="#parameters" id="parameters"></a>

| Parameter    | Type   | Required | Description                                                                                                                                       |
| ------------ | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `project_id` | string | Yes      | Id (24-hex) of the project whose test cases you want to count. 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.                                                                                        |

**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.

#### Example Response

```json
{
  "count": 86
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://support.attackforge.com/app/modules/ai-mcp-and-skills/count-project-test-cases.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
