api_post
Send HTTP POST requests to any URL with customizable headers and body content. Integrate external APIs directly into AI workflows using the MCP API Server.
Instructions
Make an HTTP POST request to the specified URL
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | The request body (string or JSON object) | |
| headers | No | Optional headers to include in the request | |
| url | Yes | The URL to make the POST request to |
Implementation Reference
- src/api-client.ts:75-86 (handler)Core handler function that executes the api_post tool logic by making an HTTP POST request using axios.async post( url: string, body?: string | object, headers?: Record<string, string> ): Promise<APIResponse | ErrorResponse> { return this.makeRequest({ url, method: 'POST', body, headers, }); }
- src/tools.ts:36-64 (schema)MCP tool definition including name, description, and input schema for api_post.export const API_POST_TOOL: MCPTool = { name: 'api_post', description: 'Make an HTTP POST request to the specified URL', inputSchema: { type: 'object', properties: { url: { type: 'string', format: 'uri', description: 'The URL to make the POST request to', }, body: { oneOf: [ { type: 'string' }, { type: 'object' }, ], description: 'The request body (string or JSON object)', }, headers: { type: 'object', description: 'Optional headers to include in the request', additionalProperties: { type: 'string', }, }, }, required: ['url'], }, };
- src/mcp-server.ts:85-90 (registration)Registers the list_tools MCP handler which returns all tools including api_post via ALL_API_TOOLS.this.server.setRequestHandler(ListToolsRequestSchema, async () => { this.log('Received list_tools request'); return { tools: ALL_API_TOOLS, }; });
- src/tools.ts:138-142 (registration)Registers api_post in the TOOL_MAP used for tool lookup and validation in mcp-server.export const TOOL_MAP: Record<string, MCPTool> = { [API_GET_TOOL.name]: API_GET_TOOL, [API_POST_TOOL.name]: API_POST_TOOL, [API_PUT_TOOL.name]: API_PUT_TOOL, [API_DELETE_TOOL.name]: API_DELETE_TOOL,
- src/mcp-server.ts:203-208 (handler)Dispatches api_post tool calls to the underlying APIClient.post handler.case 'api_post': return await this.apiClient.post( validatedRequest.url, validatedRequest.body, validatedRequest.headers );