An MCP server for Scryfall's Magic: The Gathering card search that lets you search cards directly in Claude using Scryfall's powerful search syntax.
- Clone the repository
- Install dependencies:
npm install
- Build the project:
npm run build
The search tool supports Scryfall's full search syntax. Here are some example queries:
-
c:red t:dragon
- Find red dragons -
f:standard r:mythic
- Find mythic rares in Standard -
o:flying pow>3
- Find creatures with flying and power greater than 3
You can customize your search with these optional parameters:
-
unique
: How to handle duplicates ('cards', 'art', or 'prints') -
order
: Sort results by ('name', 'set', 'rarity', etc.) -
dir
: Sort direction ('asc' or 'desc')
-
Build the project:
npm run build
-
Add to your Claude Desktop config:
{ "mcpServers": { "scryfall": { "command": "/path/to/your/project/dist/main.js" } } }
Alternatively, you can install directly from npm:
{
"mcpServers": {
"scryfall": {
"command": "npx",
"args": ["-y", "mcp-scryfall"]
}
}
}
- Bun for fast testing and development
- Biome for linting and formatting
- Automated version management with standard-version
- Clean, maintainable project structure
mcp-scryfall/
├── src/
│ ├── tools/ # MCP tools implementation
│ ├── utils/ # Shared utilities
│ ├── main.ts # Server entry point
│ └── types.ts # Shared type definitions
├── tests/ # Test files
├── biome.json # Linting configuration
├── tsconfig.json # TypeScript configuration
└── package.json # Project dependencies
The project includes a script to help create new MCP tools:
npm run scripts/create-tool.ts <tool-name>
This will:
- Create a new tool directory under
src/tools/<tool-name>
- Generate the basic tool structure including:
- index.ts (main implementation)
- schema.ts (JSON schema for tool parameters)
- test.ts (test file)
- Update the tools index file to export the new tool
Example:
npm run scripts/create-tool.ts weather
-
Run tests:
npm test
-
Format code:
npm run format
-
Lint code:
npm run lint
-
Build project:
npm run build
This project uses standard-version for automated version management. Run npm run release
to create a new version.
-
feat
: New feature (bumps minor version) -
fix
: Bug fix (bumps patch version) -
BREAKING CHANGE
: Breaking change (bumps major version)
- Ensure you're logged in to npm:
npm login
- Build the project:
npm run build
- Publish the package:
Remember to update the version number using
npm publish
npm run release
before publishing new versions.