List Prompts
List available prompt templates with OAuth-based filtering. Returns prompts that can be retrieved via prompts/get method.
Overview
The prompts/list
method returns all prompt templates available to the authenticated user. Prompts are user-controlled templates that provide structured messages and instructions for language model interactions.
Prerequisites
- Session Initialization: Complete
initialize
→notifications/initialized
flow - Authentication: Valid OAuth token or PAT with
mcp.read
scope - Session ID: Include
Mcp-Session-Id
header from initialization
Request Format
Request Parameters
Must be "2.0"
(JSON-RPC version)
Unique request identifier (cannot be null)
Must be "prompts/list"
Optional parameters
Response Format
Always "2.0"
Matches the request ID exactly
Prompts list result
Example Responses
Prompt Arguments
Argument Types
Prompt arguments define customization parameters:
- Required Arguments: Must be provided in prompts/get calls
- Optional Arguments: Can be omitted, may have default values
- Context Arguments: Often reference IDs from your CRM/system
Common Argument Patterns
Pattern | Example | Purpose |
---|---|---|
context_type | "deal" , "contact" , "activity" | Specify analysis context |
context_id | "123" , "456" | Target specific records |
person_id | "789" | Reference person records |
time_period | "month" , "quarter" | Define analysis timeframe |
Argument Validation
Arguments are validated when used in prompts/get:
OAuth Filtering Behavior
Our implementation applies OAuth-based filtering:
User-Specific Prompt Access
- Database Permissions: Prompts filtered based on user’s database permissions
- OAuth Client ID: Each client gets appropriate prompt subset
- Consistent Results: Same user always gets same prompts (unless permissions change)
- Dynamic Loading: Prompts loaded from database per user context
Access Control Validation
Prompt Count Expectations
- Minimum: Authenticated users get at least some prompts
- Maximum: Limited by user permissions and server configuration
- Consistency: Prompt count remains stable across requests for same user
Implementation Notes
Request ID Requirements
- Must be unique within session
- Cannot be null (enforced by our implementation)
- String or number format accepted
Session Management
Mcp-Session-Id
header required after initialization- Session validates OAuth token and permissions
- Invalid session returns authentication error
Pagination Support
- Uses cursor-based pagination
nextCursor
provided when more results available- Empty cursor parameter returns first page
Error Handling
- -32000: Authentication/session errors
- -32600: Invalid request format
- -32602: Invalid parameters
Performance Considerations
- Prompts cached per user session
- Database queries optimized for user permissions
- Results paginated for large prompt sets
Prompt Template Structure
- Each prompt has unique name identifier
- Optional arguments define customization parameters
- Arguments have required/optional flags
- Descriptions help users understand prompt purpose
This endpoint enables prompt discovery, allowing clients to understand what template-based interactions are available before calling prompts/get.
Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Headers
MCP session ID (required after initialization)
"session_abc123"
Path Parameters
Tenant identifier (e.g., 'pipedrive', 'salesforce', 'hubspot')
"pipedrive"
Body
Response
JSON-RPC 2.0 response
The response is of type object
.
The response is of type object
.
The response is of type object
.
The response is of type object
.
The response is of type object
.
The response is of type object
.
The response is of type object
.
The response is of type object
.
The response is of type object
.
The response is of type object
.
The response is of type object
.
The response is of type object
.