README.md.hbs•5.42 kB
# {{server.name}}
{{server.description}}
## Overview
This MCP server provides HTTP API calling capabilities through the Model Context Protocol. It was generated automatically from API specifications and includes the following tools:
{{#each tools}}
- **{{name}}**: {{description}}
{{/each}}
## Table of Contents
- [Overview](#overview)
{{#if includeInstallation}}
- [Installation](#installation)
- [Usage](#usage)
{{/if}}
- [Available Tools](#available-tools)
{{#if includeAPIReference}}
- [API Endpoints](#api-endpoints)
{{/if}}
- [Configuration](#configuration)
- [Error Handling](#error-handling)
{{#if includeDevelopmentSetup}}
- [Development](#development)
{{/if}}
- [Generated Information](#generated-information)
- [License](#license)
## Installation
```bash
npm install {{server.packageName}}
```
## Usage
### As an MCP Server
Add this server to your MCP client configuration:
```json
{
"mcpServers": {
"{{kebabCase server.name}}": {
"command": "{{kebabCase server.name}}",
"args": []
}
}
}
```
### Command Line Options
```bash
{{kebabCase server.name}} [options]
Options:
--debug Enable debug logging
--allow-localhost Allow requests to localhost/127.0.0.1
--allow-private-ips Allow requests to private IP ranges
--help, -h Show help message
```
### Environment Variables
- `DEBUG`: Enable debug logging (true/false)
- `API_TIMEOUT`: Request timeout in milliseconds (default: {{configuration.timeout}})
- `ALLOW_LOCALHOST`: Allow localhost requests (true/false)
- `ALLOW_PRIVATE_IPS`: Allow private IP requests (true/false)
- `MAX_RESPONSE_LENGTH`: Maximum response length in bytes (default: {{configuration.maxResponseLength}})
- `USER_AGENT`: Custom user agent string (default: {{configuration.userAgent}})
## Available Tools
{{#each tools}}
### {{name}}
{{description}}
{{#if inputSchema.properties}}
**Parameters:**
{{#each inputSchema.properties}}
- `{{@key}}` ({{parameterType this}}{{#unless (includes ../inputSchema.required @key)}}, optional{{/unless}}): {{#if description}}{{description}}{{else}}No description available{{/if}}
{{/each}}
{{/if}}
**Example:**
```json
{
"name": "{{name}}",
"arguments": {
{{#each inputSchema.properties}}
{{#if (includes ../inputSchema.required @key)}}
"{{@key}}": {{#eq type "string"}}"example-value"{{/eq}}{{#eq type "number"}}123{{/eq}}{{#eq type "boolean"}}true{{/eq}}{{#eq type "object"}}{}{{/eq}}{{#eq type "array"}}[]{{/eq}}{{#unless @last}},{{/unless}}
{{/if}}
{{/each}}
}
}
```
{{/each}}
## API Endpoints
This server provides access to the following API endpoints:
{{#each apis}}
### {{name}}
{{#if description}}{{description}}{{else}}No description available{{/if}}
- **Method**: {{method}}
- **URL**: `{{url}}`
{{#if headers}}
- **Headers**:
{{#each headers}}
- `{{@key}}`: {{this}}
{{/each}}
{{/if}}
{{#if parameters}}
- **Parameters**:
{{#each parameters}}
- `{{name}}` ({{type}}, {{location}}{{#unless required}}, optional{{/unless}}): {{#if description}}{{description}}{{else}}No description available{{/if}}
{{/each}}
{{/if}}
{{#if curlCommand}}
**cURL Example:**
```bash
{{curlCommand}}
```
{{/if}}
{{/each}}
## Configuration
The server can be configured through environment variables or command line arguments. See the usage section above for available options.
### Security Configuration
- **Timeout**: Request timeout in milliseconds (default: {{configuration.timeout}})
- **Max Response Length**: Maximum response size in bytes (default: {{configuration.maxResponseLength}})
- **Localhost Access**: {{#if configuration.allowLocalhost}}Enabled{{else}}Disabled{{/if}}
- **Private IP Access**: {{#if configuration.allowPrivateIps}}Enabled{{else}}Disabled{{/if}}
## Error Handling
The server includes comprehensive error handling for:
- **Network Issues**: Connection timeouts, DNS resolution failures
- **HTTP Errors**: 4xx and 5xx status codes with detailed messages
- **Validation Errors**: Invalid parameters or malformed requests
- **Rate Limiting**: Automatic retry with exponential backoff
- **Security Violations**: Blocked requests to restricted hosts
All errors are returned in a structured format:
```json
{
"error": {
"type": "validation|network|http|parsing",
"message": "Human-readable error message",
"statusCode": 400,
"details": {
"field": "Additional error context"
}
}
}
```
## Development
### Building
```bash
npm run build
```
### Running in Development Mode
```bash
npm run dev
```
### Testing
```bash
npm test
```
### Linting
```bash
npm run lint
```
### Type Checking
```bash
npm run type-check
```
## Generated Information
- **Generated at**: {{metadata.generatedAt}}
- **Generated by**: {{metadata.generatedBy}}
- **Version**: {{metadata.version}}
{{#if metadata.sourceFile}}
- **Source file**: {{metadata.sourceFile}}
{{/if}}
## Contributing
This is a generated MCP server. To make changes:
1. Modify the source API specification file
2. Regenerate the server using the MCP Builder CLI
3. Test the generated server thoroughly
4. Update documentation as needed
## License
{{#if server.license}}{{server.license}}{{else}}MIT{{/if}}
---
*This documentation was automatically generated by the MCP Builder CLI. For more information about the Model Context Protocol, visit [https://modelcontextprotocol.io](https://modelcontextprotocol.io).*