Charles MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CHARLES_PASS | No | Charles Web Interface password | 123456 |
| CHARLES_USER | No | Charles Web Interface username | admin |
| CHARLES_PROXY_HOST | No | Charles proxy host | 127.0.0.1 |
| CHARLES_PROXY_PORT | No | Charles proxy port | 8888 |
| CHARLES_CONFIG_PATH | No | Charles configuration file path | 自动探测 |
| CHARLES_MAX_STOPTIME | No | Maximum duration for bounded recording in seconds | 3600 |
| CHARLES_REQUEST_TIMEOUT | No | Control plane HTTP timeout in seconds | 10 |
| CHARLES_MANAGE_LIFECYCLE | No | Whether the MCP server manages the Charles lifecycle (start/stop) | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| start_live_captureA | Start or adopt a live capture session for incremental polling. Returns a capture_id required by all other live tools. Use adopt_existing=true to take over an ongoing Charles session without clearing it. |
| read_live_captureA | Read incremental traffic and advance the cursor. Returns compact entry summaries (host/method/path/status only). Use query_live_capture_entries for structured filtering instead of this tool. This tool advances the internal cursor — repeated calls only return new items. |
| peek_live_captureA | Preview incremental traffic without advancing the cursor. Returns compact entry summaries (host/method/path/status only). Safe to call repeatedly — does not consume items. Use query_live_capture_entries for structured filtering and analysis. |
| stop_live_captureA | Stop an active live capture and optionally persist the filtered snapshot. Only status='stopped' means the capture is fully closed. |
| query_live_capture_entriesA | Analyze the active live capture with structured summary-first filtering. This is the RECOMMENDED tool for inspecting live traffic. Does NOT advance the cursor — safe to call repeatedly with different filters. Default cursor=0 scans all captured data from the beginning. Use get_traffic_entry_detail to drill down into a specific entry_id. |
| analyze_recorded_trafficB | Analyze a saved recording snapshot with compact summaries. Returns structured TrafficSummary items with matched_fields and match_reasons. Use get_traffic_entry_detail to drill down into a specific entry_id afterwards. |
| get_traffic_entry_detailA | Load one traffic entry detail view for drill-down inspection. Requires entry_id from a prior summary/query call. For history entries, pass recording_path from the summary. For live entries, pass capture_id from the summary. Keep include_full_body=false unless you specifically need the raw body text. |
| get_capture_analysis_statsC | Return coarse traffic class counts for a live capture or saved recording. |
| group_capture_analysisC | Group analyzed traffic so the agent can inspect hot spots with lower token cost. |
| query_recorded_trafficA | Query the latest saved recording. This tool never reads the live Charles session. |
| list_recordingsB | List saved recording files using an explicit history-oriented tool name. |
| get_recording_snapshotA | Load a saved recording snapshot. This tool never reads the live Charles session. |
| proxy_by_timeB | Capture traffic for a fixed duration or read the latest saved history package. |
| filter_funcC | Filter traffic from a fixed capture window or the latest saved history package. |
| throttlingB | Set a network throttling preset in Charles. |
| reset_environmentB | Reset the Charles environment and restore the saved configuration. |
| list_sessionsB | List historical session files via the legacy tool name. |
| charles_statusB | Check Charles connectivity and active live-capture state. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/heizaheiza/Charles-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server