
Product
Rust Support Now in Beta
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.
@codewithdan/dc-comics-mcp
Advanced tools
MCP Server for the Comic Vine API, enabling interaction with DC Comics characters and issues data. The main goal of the project is to show how an MCP server can be used to interact with APIs.
Note: All data and images returned by this MCP server are fetched from the Comic Vine API. This project is not affiliated with Comic Vine or DC Comics in any way. Documentation for the Comic Vine API can be found here.
name
, nameStartsWith
, limit
, and more.characterId
.search
tool..env
file to manage environment variables like COMIC_VINE_API_KEY
and COMIC_VINE_API_BASE
.get_characters
🔍🦸♂️name
(optional string): Filter characters by name.nameStartsWith
(optional string): Filter characters whose names start with the specified string.field_list
(optional string): List of fields to include in the response, comma-separated.modifiedSince
(optional string): Filter characters modified since this date.series
, events
, stories
(optional string): Filter by related entities.orderBy
(optional string): Fields to order the results by.limit
(optional number): Maximum number of results to return (1–100).offset
(optional number): Number of results to skip for pagination.get_character_by_id
🆔🦸characterId
(number): The unique ID of the character.field_list
(optional string): List of fields to include in the response, comma-separated.get_issues_for_character
📚🎭characterId
(number): The unique ID of the character.field_list
(optional string): List of fields to include in the response, comma-separated.limit
(optional number): Maximum number of results to return (1–100).offset
(optional number): Number of results to skip for pagination.get_issues
📖🕵️♂️field_list
(optional string): List of fields to include in the response, comma-separated.format
(optional string): Filter by the issue format.name
(optional string): Filter by issue name.dateDescriptor
, dateRange
(optional string): Filter by date.title
, titleStartsWith
(optional string): Filter by title.issueNumber
(optional string): Filter by issue number.characters
, creators
(optional string): Filter by related entities.orderBy
(optional string): Fields to order the results by.limit
(optional number): Maximum number of results to return (1–100).offset
(optional number): Number of results to skip for pagination.get_issue_by_id
🆔📘issueId
(number): The unique ID of the issue.field_list
(optional string): List of fields to include in the response, comma-separated.get_characters_for_issue
🦸♀️📖issueId
(number): The unique ID of the issue.field_list
(optional string): List of fields to include in the response, comma-separated.limit
(optional number): Maximum number of results to return (1–100).offset
(optional number): Number of results to skip for pagination.get_issues_by_character_name
🦸♂️📚filter
(string): Name of the character or other filter criteria (e.g., "Batman", "Superman").field_list
(optional string): List of fields to include in the response, comma-separated.limit
(optional number): Maximum number of results to return (1–100).offset
(optional number): Number of results to skip for pagination.get_movies
🎬🦸filter
(optional string): Filter movies by name or other criteria (e.g., "name:Batman,deck:Batman").field_list
(optional string): List of fields to include in the response, comma-separated.limit
(optional number): Maximum number of results to return (1–100).offset
(optional number): Number of results to skip for pagination.get_movie_by_id
🎥🆔movieId
(number): The unique ID of the movie.field_list
(optional string): List of fields to include in the response, comma-separated.search
🔎📚query
(string): Search query string.resources
(optional string): Comma-separated list of resource types to search for (e.g., "character,issue").field_list
(optional string): List of fields to include in the response, comma-separated.limit
(optional number): Maximum number of results to return (1–100).offset
(optional number): Number of results to skip for pagination.Sign up for a Comic Vine API key.
If you want to run it directly in an MCP host, jump to the Use with Claude Desktop or Use with GitHub Copilot sections.
If you'd like to run MCP Inspector locally to test the server, follow these steps:
Clone this repository:
git clone https://github.com/DanWahlin/dc-comics-mcp
Rename .env.template
to .env
.
Add your Comic Vine API key to the .env
file.
COMIC_VINE_API_KEY=YOUR_API_KEY
COMIC_VINE_API_BASE=https://comicvine.gamespot.com/api
Install the required dependencies and build the project.
npm install
npm run build
(Optional) To try out the server using MCP Inspector run the following command:
# Start the MCP Inspector
npx @modelcontextprotocol/inspector node build/index.js
Visit the MCP Inspector URL shown in the console in your browser. Change Arguments
to dist/index.js
and select Connect
. Select List Tools
to see the available tools.
Add the following to your claude_desktop_config.json
:
{
"mcpServers": {
"dc-comics-mcp": {
"type": "stdio",
"command": "npx",
// "command": "node",
"args": [
"-y",
"@codewithdan/dc-comics-mcp"
// "/PATH/TO/dc-comics-mcp/dist/index.js"
],
"env": {
"COMIC_VINE_API_KEY": "YOUR_API_KEY",
"COMIC_VINE_API_BASE": "https://comicvine.gamespot.com/api"
}
}
}
}
Note: If you already have the MCP server enabled with Claude Desktop, add
chat.mcp.discovery.enabled: true
in your VS Code settings and it will discover existing MCP server lists.
Add the following to your settings.json
file (note that you can also add it to the .vscode/mcp.json
file if you want it for a specific repo):
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "comic-vine-api-key",
"description": "Comic Vine API Key",
"password": true
}
],
"servers": {
"dc-comics-mcp": {
"command": "npx",
// "command": "node",
"args": [
"-y",
"@codewithdan/dc-comics-mcp"
// "/PATH/TO/dc-comics-mcp/dist/index.js"
],
"env": {
"COMIC_VINE_API_KEY": "${input:comic-vine-api-key}",
"COMIC_VINE_API_BASE": "https://comicvine.gamespot.com/api"
}
}
}
}
Now that the mcp server is discoverable, open GitHub Copilot and select the Agent
mode (not Chat
or Edits
).
Select the "refresh" button in the Copilot chat text field to refresh the server list.
Select the "🛠️" button to see all the possible tools, including the ones from this repo.
Put a question in the chat that would naturally invoke one of the tools, for example:
Show 10 Batman comics. Include cover images.
What teams has Batman been part of?
Show me Wonder Woman's appearances in Justice League comics.
Show me some Superman comics. Include cover images.
Who are the top 5 villains in the DC universe? Include images.
Find comics where Joker and Batman appear together.
Show me the most recent Flash comics.
What are the most popular Aquaman story arcs? Include images.
Display Green Lantern comics from the 1990s.
Show some of Darkseid's appearances in comics. Include cover images.
Show me comics featuring the Suicide Squad.
Find crossover events with Justice League and Teen Titans.
List comics where Harley Quinn is the main character. Show cover images.
Show me the origin story comics for Wonder Woman. Include cover images.
What movies has Batman been in? Show movie images.
Note: If you see "Sorry, the response was filtered by the Responsible AI Service.", try running it again or rephrasing the prompt.
What movies has Batman been in? Show movie images.
Show 10 Batman comics. Include cover image URLs.
FAQs
DC Comics APIs MCP Server using Comic Vine API
The npm package @codewithdan/dc-comics-mcp receives a total of 0 weekly downloads. As such, @codewithdan/dc-comics-mcp popularity was classified as not popular.
We found that @codewithdan/dc-comics-mcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.
Product
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
Security News
Socket CEO Feross Aboukhadijeh joins Risky Business Weekly to unpack recent npm phishing attacks, their limited impact, and the risks if attackers get smarter.