Charles MCP Server

An MCP server for Charles Proxy: the agent reads traffic during capture and saved sessions, opening request details one at a time

  • 331 ★ on the repository
  • Last commit
  • MIT
MCP server

Broad access

Why this level

  • All responses come unmasked, so tokens, cookies and passwords from traffic reach the agent's context
  • The reverse_* tools replay requests with changed parameters and look for signature fields, which can affect live services
All reasons and checks

heizaheiza/charles-mcp

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/charles-mcp-server

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • All responses come unmasked, so tokens, cookies and passwords from traffic reach the agent's context
  • The reverse_* tools replay requests with changed parameters and look for signature fields, which can affect live services

This is third-party code. Review the repository files before installing.

What it does

The server connects Charles Proxy to an MCP client so an agent can work through an application's network traffic. While capture runs, the agent receives new requests in batches. It analyzes saved sessions in .chlsj files the same way. Output goes from general to specific. The agent first gets a summary and grouping by host, path and status, then picks an entry and asks for its details. A request body is cut to 2048 characters by default. If a response is too large, the server warns and suggests narrowing the selection, so raw dumps stay out of the context. The public set has 31 tools in four groups: capture, analysis and history, control and the reverse_* branch. Control checks the Charles status, resets the environment and simulates 3G, 4G and 5G networks. The reverse_* branch arrived in version 3.0 for analyzing the protocols of your own apps.

Who it is for. For mobile and web developers, testers and protocol researchers who already work with Charles Proxy.

Good fit when

  • You need to find the requests that returned an error among hundreds and show the agent only those
  • You want the agent to find the busiest hosts and paths in a session you just recorded
  • You are checking app behavior on a slow network: the server enables 3G, 4G and 5G presets
  • You are studying your own API and need to see which request fields change from call to call
  • You are preparing to replay a request from your own app to test how it handles changed parameters

Not a fit when

  • Charles Proxy is not installed or its web interface is off: the server sees nothing without it
  • You would analyze someone else's traffic without permission: the tool is for authorized debugging and testing
  • You only need to filter saved HAR files: opening them in browser tools is simpler
  • The agent runs in a shared environment where traffic carries other people's tokens: responses are not masked

Example request

Start a live capture in Charles, then show the hosts with the most errors and open the details of the first request with status 500.

MCP

Transport
stdio
Authentication
API key

Environment variables

CHARLES_USER required
Login of the Charles web interface.
CHARLES_PASS required, secret
Password of the Charles web interface.
CHARLES_MANAGE_LIFECYCLE
true lets the server start and stop Charles; false by default.
CHARLES_PROXY_PORT
Charles proxy port, 8888 by default.

Limitations

You need Python 3.10 or newer, the uv package manager and a running Charles Proxy with its web interface enabled. The login and password of that interface must match CHARLES_USER and CHARLES_PASS. The proxy listens on 127.0.0.1:8888 by default. The legacy tools filter_func, proxy_by_time and list_sessions are off by default. After upgrading from versions before 3.0 the CHARLES_VNEXT_STATE_DIR variable is obsolete, and on first start the state moves to CHARLES_REVERSE_STATE_DIR.

How to disable. Remove the server from your client settings, in Claude Code with claude mcp remove charles. You can then turn off the Charles web interface under Proxy, Web Interface Settings.

FAQ

How do I connect Charles MCP to Claude Code?

Use claude mcp add-json charles with a stdio config: command uvx, args charles-mcp, and in env the Charles web interface login and password plus CHARLES_MANAGE_LIFECYCLE set to false. The author gives separate config snippets for Claude Desktop, Cursor and Codex CLI.

What does CHARLES_MANAGE_LIFECYCLE do?

When set to true the server starts and stops Charles itself and closes the process on exit. The default is false so the server does not shut down your Charles.

How do start_live_capture, read_live_capture and peek_live_capture differ?

start_live_capture begins or adopts a capture without clearing traffic already caught. read_live_capture reads new entries and advances the cursor, while peek_live_capture shows them without advancing. query_live_capture_entries only filters and leaves the cursor alone.

What are the reverse tools in version 3.0?

Sixteen tools prefixed reverse_: importing Charles sessions, querying imported entries, decoding bodies, replaying a request with changed parameters, finding candidate signature fields and three flows for analyzing traffic during capture (login, API, signature). Use them only on your own apps or with the owner's permission.

What are the default output size limits?

The server trims output to protect context: max_items is 10, max_preview_chars 128, max_headers_per_side 6 and max_body_chars 2048. If you need more, pass higher values manually.

Discussion

No questions or reviews yet.

Russian stack

A Go MCP server for debugging 1C over the HTTP Debug Protocol: breakpoints, step execution and variable inspection

MCP serverBroad access20Repository stars
Editors’ pick

The official MCP server debugger: web UI, automation CLI and terminal UI in one package

CLIExtended access11.2KRepository stars
Needs a VPN

An MCP server that spins up several browser agents to test a site for broken links, UI bugs and accessibility issues

MCP serverExtended access832Repository stars

A local proxy and trace viewer for coding agents: shows system prompts, tool calls and token usage for Claude Code, Codex and other CLIs

CLIExtended access3.3KRepository stars
Official

An MCP server from Mozilla: an agent drives Firefox through WebDriver BiDi, reads the console and network, takes page snapshots and profiles loading

MCP serverBroad access529Repository stars

RAG and RLM MCP server comparison for 1C

perform_comparison_1c_rag_mcp

Russian stack

A methodology and workflow for a Claude orchestrator that compares 1C code-analysis MCP servers by answer quality and token spend

WorkflowExtended access29Repository stars

Comparison with similar tools

Entries that share the main search query, and how they differ.

EntryOfficialAuthenticationRepository starsMain difference
Charles MCP Server (this entry)noAPI key331
Burp Suite MCP Serveryesnot required1,267an extension for Burp Suite security testing, a different proxy and a different job
Caido Skillsyes286a Caido skill: searching HTTP history with the HTTPQL language

README in short

A ready-made prompt lets an agent install the server. The author recommends two call chains: one for real-time capture and one for saved sessions.

README badge

Report a problem

Foxx AICharles MCP Server
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.