Skip to main content
Glama
sixees
by sixees

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
curl_executeA

Execute an HTTP request using cURL with structured parameters.

This tool provides a safe, structured way to make HTTP requests with common cURL options. It handles URL encoding, header formatting, and response processing automatically.

Args:

  • url (string, required): The URL to request

  • method (string): HTTP method - GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS

  • headers (object): HTTP headers as key-value pairs

  • data (string): Request body for POST/PUT/PATCH requests

  • form (object): Form data as key-value pairs (multipart/form-data)

  • follow_redirects (boolean): Follow HTTP redirects (default: true)

  • max_redirects (number): Maximum redirects to follow (0-50)

  • insecure (boolean): Skip SSL verification (default: false)

  • timeout (number): Request timeout in seconds (1-300, default: 30)

  • user_agent (string): Custom User-Agent header (a browser-like default is sent automatically if not set; empty string disables)

  • basic_auth (string): Basic auth as "username:password"

  • bearer_token (string): Bearer token for Authorization header

  • verbose (boolean): Include verbose request/response details

  • include_headers (boolean): Include response headers in output

  • compressed (boolean): Request compressed response (default: true)

  • include_metadata (boolean): Wrap response in JSON with metadata

  • jq_filter (string): JSON path filter to extract specific data

  • max_result_size (number): Max bytes to return inline (default: 500KB, max: 1MB). Auto-saves to file when exceeded

  • save_to_file (boolean): Force save response to temp file. Returns filepath instead of content

  • output_dir (string): Custom directory to save files (overrides MCP_CURL_OUTPUT_DIR env var)

jq_filter Syntax:

  • .key - Object property access

  • .[n] or .n - Array index (non-negative only, e.g., .results.0)

  • .[n:m] - Array slice from index n to m

  • .["key"] - Bracket notation for special characters in keys

  • .a,.b,.c - Multiple comma-separated paths (returns array of values, max 20)

jq_filter Validation:

  • Unclosed quotes and brackets throw clear errors

  • Leading zeros in indices rejected (use .0 not .00)

  • Negative indices not supported (unlike real jq)

  • Indices must be within safe integer range

Returns: The HTTP response body, or JSON with metadata if include_metadata is true: { "success": boolean, "exit_code": number, "response": string, "stderr": string (if present), "saved_to_file": boolean (if response was saved), "filepath": string (path to saved file) }

Examples:

  • Simple GET: { "url": "https://api.example.com/data" }

  • POST JSON: { "url": "https://api.example.com/users", "method": "POST", "headers": {"Content-Type": "application/json"}, "data": "{"name": "John"}" }

  • With auth: { "url": "https://api.example.com/secure", "bearer_token": "your-token-here" }

  • Extract field: { "url": "https://api.github.com/repos/octocat/hello-world", "jq_filter": ".name" }

  • Multiple fields: { "url": "https://api.example.com/user", "jq_filter": ".name,.email,.id" }

  • Dot notation: { "url": "https://api.example.com/items", "jq_filter": ".results.0.name" }

  • Array slice: { "url": "https://api.example.com/items", "jq_filter": ".results[0:10]" }

  • Custom output: { "url": "https://api.example.com/large", "save_to_file": true, "output_dir": "/path/to/dir" }

Error Handling:

  • Returns error message if cURL fails or times out

  • Exit code 0 indicates success

  • Non-zero exit codes indicate various cURL errors

  • Invalid JSON with jq_filter returns error with response preview

Temp File Lifecycle: Files saved with save_to_file or auto-save are:

  • Stored in a secure temp directory (owner-only access: 0o700/0o600)

  • Deleted on graceful server shutdown (SIGINT/SIGTERM)

  • Orphaned files from crashed sessions are cleaned on next server start

  • Check mcp-curl-* in system temp dir if files persist after crash

jq_queryA

Query an existing JSON file with a jq-like filter expression.

This tool allows you to extract data from saved JSON files without making new HTTP requests. Useful for:

  • Extracting different fields from a large saved response

  • Applying multiple queries to the same data

  • Processing any local JSON file within allowed directories

Args:

  • filepath (string, required): Path to a JSON file to query

  • jq_filter (string, required): JSON path filter expression

  • max_result_size (number): Max bytes inline (default: 500KB, max: 1MB)

  • save_to_file (boolean): Force save result to file

  • output_dir (string): Custom directory to save result files

Filter Syntax:

  • .key - Get object property

  • .[n] - Get array element at index n (non-negative only, also .n with dot notation)

  • .[n:m] - Array slice from n to m

  • .["key"] - Bracket notation for keys with special chars

  • .name,.email - Multiple comma-separated paths (returns array of values, max 20)

  • Note: Negative indices not supported (unlike real jq)

Security:

  • Only files in these directories can be read:

    1. Our temp directory (files saved by curl_execute)

    2. MCP_CURL_OUTPUT_DIR environment variable path

    3. Current working directory and ALL subdirectories (broad - ensure cwd is safe)

  • Maximum file size: 10MB

Examples:

  • Extract name: { "filepath": "/path/to/response.txt", "jq_filter": ".name" }

  • Multiple fields: { "filepath": "/path/to/data.json", "jq_filter": ".name,.email,.id" }

  • Array slice: { "filepath": "/path/to/list.json", "jq_filter": ".items[0:5]" }

Prompts

Interactive templates invoked by user choice

NameDescription
api-testTest an API endpoint and analyze the response
api-discoveryExplore a REST API to discover available endpoints

Resources

Contextual data attached and managed by the client

NameDescription
documentationAPI documentation and usage examples for the cURL MCP server

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sixees/mcp-curl'

If you have feedback or need assistance with the MCP directory API, please join our Discord server