@dschauhan08/easycopy-mcp
v0.2.0
Published
MCP server for easycopy that renders repositories to HTML and CXML
Maintainers
Readme
@dschauhan08/easycopy-mcp
Production-grade MCP server for easycopy, built for reliable use across MCP-capable AI clients.
This server turns any repo (local or remote) into LLM-friendly artifacts:
- flattened HTML for instant exploration
- extracted CXML for direct model ingestion
- structured MCP responses for predictable tool chaining
Why teams use this
- Safety-first defaults: no browser popups, bounded output options, explicit timeouts, strong argument validation
- Cross-client MCP compatibility: proper stdio framing, JSON-RPC handling,
structuredContentsupport - Deterministic outputs: checksums, metrics, stable response shape
- Operational visibility: built-in
health_checkdiagnostics - Practical lifecycle tools: list, inspect, and clean old generated outputs
Install
npx -y @dschauhan08/easycopy-mcpOr global:
npm i -g @dschauhan08/easycopy-mcp
easycopy-mcpMCP client config
{
"mcpServers": {
"easycopy": {
"command": "npx",
"args": ["-y", "@dschauhan08/easycopy-mcp"],
"env": {
"EASYCOPY_VERSION_TAG": "latest"
}
}
}
}This works with MCP-compatible clients across major ecosystems (Claude Desktop-compatible clients, Cursor-compatible clients, and other MCP SDK-based tooling).
Tools
render_repo
Render a repository into a single HTML output and optionally include inline HTML/CXML in the result.
Inputs:
repo(required)out_path(optional)output_dir(optional)output_prefix(optional)max_bytes(optional)branch/tag/commit(optional, mutually exclusive)no_progress(optional)include_inline_html(optional)return_inline(legacy alias, optional)inline_limit_bytes(optional)include_cxml(optional)include_output_excerpt(optional)timeout_ms(optional)
Returns:
structuredContentwith output path, checksums, metrics, binary source/version, stderr/stdout tails- optional
inline_html,output_excerpt, andcxml
get_cxml
Generate output and extract CXML only.
Inputs:
repo(required)max_bytes,branch,tag,commit,no_progress,timeout_ms(optional)
Returns:
structuredContentwithcxml, checksum, render metrics, runtime details
health_check
Runtime and binary diagnostics.
Inputs:
resolve_binary(optional, defaulttrue)
Returns:
- node/runtime info, platform, env hints, cache path, resolved binary details
list_outputs
List generated HTML outputs sorted by newest first.
Inputs:
directory(optional)prefix(optional)limit(optional)
read_output
Read excerpt plus checksum from an existing generated output file.
Inputs:
path(required)max_chars(optional)
cleanup_outputs
Delete old generated outputs while keeping recent ones.
Inputs:
directory(optional)prefix(optional)keep_latest(optional)dry_run(optional, defaulttrue)
Safety and reliability notes
- Commands run with timeouts and typed argument checks
- Archive extraction validates platform/tool availability
- Temporary extraction directories are cleaned up
- No destructive repo actions; this server only calls
easycopy - Output management tools default to safe behavior (
dry_run: true)
Environment variables
EASYCOPY_PATH: explicit easycopy binary pathEASYCOPY_VERSION_TAG: release tag to fetch (latestdefault)EASYCOPY_RELEASE_OWNER: GitHub owner override (defaultDsChauhan08)EASYCOPY_RELEASE_REPO: GitHub repo override (defaulteasycopy)EASYCOPY_MCP_CACHE_DIR: custom binary cache directoryEASYCOPY_INLINE_LIMIT_BYTES: default inline HTML capEASYCOPY_OUTPUT_DIR: default output directory for generated HTMLEASYCOPY_OUTPUT_PREFIX: default output file prefixGITHUB_TOKEN: optional token for release API/download resilience
Local development
cd mcp-server
npm run check
npm run selftest
npm pack --dry-runPublishing notes
This package is published by repository workflow on mcp-v* tags. npm package page content is sourced from this README automatically during npm publish.
cd mcp-server
npm publish --access public