MCP server for accessing compiled Discord client code
Discord Assets Scraper
This workspace includes a VS Code-compatible MCP server for searching cached compiled JavaScript and CSS from Discord web surfaces.
Targets
canary_app—https://canary.discord.com/appcanary_dev_portal—https://canary.discord.com/developers/applicationsads_portal—https://ads.discord.com
Cache Behavior
The server stores downloaded JavaScript, CSS, and manifests in .discord_js_cache/ by default. Normal overview, search, inspect, and view calls use the cache and do not redownload bundles. Refresh only happens when you call refresh_discord_js, when a target has no cache yet, or when you force refresh from the tool.
Set DISCORD_JS_MCP_CACHE to use a different cache directory.
VS Code MCP Config
Install the package in your active Python environment:
pip install -e .
Then add a server entry similar to this in your VS Code MCP configuration:
{
"servers": {
"discord-js-search": {
"type": "stdio",
"command": "discord-js-mcp",
"cwd": "c:/Users/Dolfies/Workspace/discord-assets-scraper"
}
}
}
This workspace also includes .vscode/mcp.json, so VS Code can launch the server directly from the workspace when dependencies are installed.
If the script entry point is not on PATH, use Python directly:
{
"servers": {
"discord-js-search": {
"type": "stdio",
"command": "python",
"args": ["-m", "discord_js_mcp.server"],
"cwd": "c:/Users/Dolfies/Workspace/discord-assets-scraper"
}
}
}
Tools
discord_targetslists supported surfaces.refresh_discord_jsdownloads and indexes the latest compiled JS and CSS.discord_build_overviewsummarizes cached builds with useful labels, routes, endpoints, and identifiers.search_discord_jssearches cached JS/CSS and returns compact snippets.search_discord_js_contextsearches cached JS/CSS and returns larger snippets.inspect_discord_js_matchexpands a search result by target, filename, and character offset.view_discord_js_filereads a slice of a cached JS or CSS asset.discord_js_indexviews index sections such asroutes,endpoints,exports,notable_identifiers, andtokens.list_discord_js_filesexists for completeness and includes both JS and CSS assets, but the overview and index tools are usually more useful than hashed filenames.
Typical Workflow
- Run
refresh_discord_jsfor one or more targets. - Run
discord_build_overviewto see meaningful bundle labels and indexed surfaces. - Search by product language, route, API endpoint, store/action name, or feature token.
- Use
inspect_discord_js_matchto expand the interesting result.
The server also exposes read-only resources:
discord-js://<target>/<filename>discord-js-index://<target>/<section>