0.1.1 ⢠Published 4 months ago
mcp-scryfall v0.1.1
MCP Scryfall
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.
š Quick Start
- Clone the repository
- Install dependencies:
npm install
- Build the project:
npm run build
š“ Using the Card Search Tool
The search tool supports Scryfall's full search syntax. Here are some example queries:
c:red t:dragon
- Find red dragonsf:standard r:mythic
- Find mythic rares in Standardo:flying pow>3
- Find creatures with flying and power greater than 3
Advanced Search Options
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')
š ļø Setting up with Claude Desktop
Build the project:
npm run build
Add to your Claude Desktop config:
{ "mcpServers": { "scryfall": { "command": "/path/to/your/project/dist/main.js" } } }
Installing from npm (after publishing)
Alternatively, you can install directly from npm:
{
"mcpServers": {
"scryfall": {
"command": "npx",
"args": ["-y", "mcp-scryfall"]
}
}
}
⨠Key Features
- Bun for fast testing and development
- Biome for linting and formatting
- Automated version management with standard-version
- Clean, maintainable project structure
š 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
āļø Configuration
Creating New Tools
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
š ļø Development
- Run tests:
npm test
- Format code:
npm run format
- Lint code:
npm run lint
- Build project:
npm run build
š Version Management
This project uses standard-version for automated version management. Run npm run release
to create a new version.
Commit Message Format
feat
: New feature (bumps minor version)fix
: Bug fix (bumps patch version)BREAKING CHANGE
: Breaking change (bumps major version)
š¦ Publishing to npm
- Ensure you're logged in to npm:
npm login
- Build the project:
npm run build
- Publish the package:
Remember to update the version number usingnpm publish
npm run release
before publishing new versions.
0.1.1
4 months ago