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

Find Projects

Description

Lists AttackForge projects matching the optional filter. Use this when you need the actual project records - call count_projects when only a total is needed. Results are automatically scoped to projects the calling user can access (non-admin users only see projects they have membership in). Archived projects are left out unless an administrator sets include_archived - that is how to find the id restore_project takes. Results are paginated (default 10 per page, max 50).

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_projects and click Add

Example Prompts

  • Which projects are currently in Testing status? Include custom fields in the response.

  • Show me all projects that started after January 2025.

  • List all completed projects with their start and end dates.

  • Find projects with the word "API" in the name.

  • Show me all projects with their org codes and vuln codes.

  • Which projects have attack chains enabled?

  • Find all projects that are overdue (Overrun status).

  • Show me the archived projects so I can restore one.

Parameters

Parameter
Type
Required
Description

filter

object

No

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

fields

array

No

System fields to include on each project (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")).

include_archived

boolean

No

Include projects that have been archived. Defaults to false. Administrators only - ignored for any other caller. Combine with the is_archived filter field to list only the archived projects, and pair it with restore_project to bring one back.

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 (any caller):

Field
Type / Values

id

ObjectId('<24 hex>')

created, modified

ISO-8601 datetime

name, code

string

start_date, end_date

ISO-8601 datetime

status

one of 'Waiting to Start', 'Testing', 'On Hold', 'Overrun', 'Completed', 'Retest'

organization_code

string

vuln_code

string

attack_chains_enabled

boolean

reporting_enabled

boolean

retesting_enabled

boolean

summary_enabled

boolean

custom_tags

array of { name: string, value: string }

custom_fields

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

Supported filter fields (administrators only - anyone else is rejected):

Field
Type / Values

is_archived

boolean

Supported fields values:

Field
Type

id

string

created, modified

ISO-8601 datetime

name, code

string

start_date, end_date

ISO-8601 datetime

status

string

organization_code

string

vuln_code

string

attack_chains_enabled

boolean

reporting_enabled

boolean

retesting_enabled

boolean

summary_enabled

boolean

custom_tags

array of { name: string, value: string }

is_archived

boolean - true if the project has been archived (see archive_project). Always false unless an administrator set include_archived.

Example Response

Last updated