get_posts
Retrieve WordPress posts by specifying site URL, credentials, and pagination parameters. Use this tool to fetch post data efficiently via the WordPress MCP Server's REST API.
Instructions
Get WordPress posts
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| password | No | WordPress password (overrides WORDPRESS_PASSWORD env var) | |
| perPage | No | Number of posts per page | |
| siteUrl | No | WordPress site URL (overrides WORDPRESS_SITE_URL env var) | |
| username | No | WordPress username (overrides WORDPRESS_USERNAME env var) |
Input Schema (JSON Schema)
{
"properties": {
"page": {
"default": 1,
"description": "Page number",
"type": "number"
},
"password": {
"description": "WordPress password (overrides WORDPRESS_PASSWORD env var)",
"type": "string"
},
"perPage": {
"default": 10,
"description": "Number of posts per page",
"type": "number"
},
"siteUrl": {
"description": "WordPress site URL (overrides WORDPRESS_SITE_URL env var)",
"type": "string"
},
"username": {
"description": "WordPress username (overrides WORDPRESS_USERNAME env var)",
"type": "string"
}
},
"type": "object"
}
Implementation Reference
- src/index.ts:230-237 (handler)The handler implementation for the 'get_posts' tool. It makes an axios GET request to the WordPress REST API /posts endpoint with optional pagination parameters (per_page and page), and returns the response data.case 'get_posts': const getResponse = await client.get('/posts', { params: { per_page: params.perPage || 10, page: params.page || 1, }, }); return getResponse.data;
- src/index.ts:95-125 (registration)The registration of the 'get_posts' tool in the ListTools response, including its name, description, and input schema definition.{ name: 'get_posts', description: 'Get WordPress posts', inputSchema: { type: 'object', properties: { siteUrl: { type: 'string', description: 'WordPress site URL (overrides WORDPRESS_SITE_URL env var)', }, username: { type: 'string', description: 'WordPress username (overrides WORDPRESS_USERNAME env var)', }, password: { type: 'string', description: 'WordPress password (overrides WORDPRESS_PASSWORD env var)', }, perPage: { type: 'number', description: 'Number of posts per page', default: 10, }, page: { type: 'number', description: 'Page number', default: 1, }, }, }, },
- src/index.ts:98-124 (schema)The input schema definition for the 'get_posts' tool, specifying properties for site credentials and pagination.inputSchema: { type: 'object', properties: { siteUrl: { type: 'string', description: 'WordPress site URL (overrides WORDPRESS_SITE_URL env var)', }, username: { type: 'string', description: 'WordPress username (overrides WORDPRESS_USERNAME env var)', }, password: { type: 'string', description: 'WordPress password (overrides WORDPRESS_PASSWORD env var)', }, perPage: { type: 'number', description: 'Number of posts per page', default: 10, }, page: { type: 'number', description: 'Page number', default: 1, }, }, },