rescuedogs-mcp-server
v1.2.0
Published
MCP server for discovering rescue dogs from European and UK organizations
Maintainers
Readme
rescuedogs-mcp-server
Search by lifestyle

Get detailed profiles

MCP server for discovering rescue dogs from European and UK organizations. Search, filter, and get detailed profiles of dogs available for adoption.
Installation
npm install -g rescuedogs-mcp-serverClaude Desktop Configuration
Add to ~/.config/claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"rescuedogs": {
"command": "npx",
"args": ["-y", "rescuedogs-mcp-server"]
}
}
}Available Tools
rescuedogs_search_dogs
Search for rescue dogs with comprehensive filtering.
"Find medium-sized dogs good for first-time owners"
"Show me golden retrievers available to adopt in the UK"
"Find low-energy dogs suitable for apartments"Parameters:
query- Free-text searchbreed- Filter by breed namebreed_group- Filter by FCI group (Herding, Sporting, etc.)size- Tiny, Small, Medium, Large, XLargeage_category- puppy, young, adult, seniorsex- male, femaleenergy_level- low, medium, high, very_highexperience_level- first_time_ok, some_experience, experienced_onlyhome_type- apartment_ok, house_preferred, house_requiredadoptable_to_country- ISO country code (GB, IE, FR, DE)include_images- Include dog photos (default: false)
rescuedogs_get_dog_details
Get full details for a specific dog including AI-generated personality profile.
"Tell me about the dog with slug 'buddy-12345'"
"Show me details for Max"Parameters:
slug- Dog's URL slug (required)include_image- Include photo (default: true)
rescuedogs_list_breeds
Get available breeds with counts and statistics.
"What breeds are available?"
"Show me herding breeds with at least 10 dogs"Parameters:
breed_group- Filter by FCI groupmin_count- Minimum dogs availablelimit- Number of breeds to return
rescuedogs_get_statistics
Get overall platform statistics.
"How many rescue dogs are available?"
"Show me platform statistics"rescuedogs_get_filter_counts
Get available filter options with counts based on current filters.
"What filter options are available if I've selected Labrador breed?"
"Show me available sizes for dogs in Spain"rescuedogs_list_organizations
List rescue organizations with their statistics.
"Which rescue organizations are in the UK?"
"Show me all organizations"rescuedogs_match_preferences
Find dogs matching your lifestyle preferences.
"I live in an apartment, have moderate activity, and am a first-time dog owner"
"Find dogs for an active family with a house and garden"Parameters:
living_situation- apartment, house_small_garden, house_large_garden, ruralactivity_level- sedentary, moderate, active, very_activeexperience- first_time, some, experiencedhas_children,has_other_dogs,has_cats- booleanadoptable_to_country- ISO country code
rescuedogs_get_adoption_guide
Get information about the rescue dog adoption process.
"How does rescue dog adoption work?"
"Tell me about transport for adopting to the UK"
"What fees should I expect?"Parameters:
topic- overview, transport, fees, requirements, timelinecountry- ISO code for country-specific info
Geographic Scope
This server covers European and UK rescue organizations only:
- United Kingdom
- Ireland
- Germany
- France
- Spain
- Italy
- Romania
- Greece
- Bulgaria
- Cyprus
- And more...
US, Canadian, and Australian rescues are not supported.
Country Codes
Use these codes for the adoptable_to_country parameter:
| Code | Country | |------|---------| | GB | United Kingdom (UK also accepted) | | IE | Ireland | | DE | Germany | | FR | France | | ES | Spain | | IT | Italy | | NL | Netherlands | | BE | Belgium | | AT | Austria | | RO | Romania | | GR | Greece | | BG | Bulgaria | | CY | Cyprus |
Dogs can be adopted to countries where the rescue organization ships to. Use rescuedogs_list_organizations to see which countries each organization serves.
Data Source
All data comes from rescuedogs.me, aggregating listings from vetted rescue organizations.
- 1,500+ available dogs
- 12+ rescue organizations
- 370+ breeds
- 96% AI personality profile coverage
The platform is powered by the open-source rescue-dog-aggregator project, which handles web scraping, data standardization, AI-powered personality extraction, and the public API.
Docker
docker build -t rescuedogs-mcp .
docker run -i rescuedogs-mcpEnvironment Variables
| Variable | Description | Default |
|----------|-------------|---------|
| RESCUEDOGS_API_URL | Base URL for the rescuedogs API | https://api.rescuedogs.me |
| RESCUEDOGS_IMAGE_URL | Base URL for the image CDN | https://images.rescuedogs.me |
Architecture
src/
├── index.ts # Entry point — server setup and stdio transport
├── constants.ts # Shared constants (API URLs, cache TTLs, display limits)
├── types.ts # TypeScript type definitions for API responses
├── schemas/
│ └── index.ts # Zod input schemas for all tools
├── services/
│ ├── api-client.ts # Axios-based API client with retry logic
│ ├── cache-service.ts # In-memory cache with TTL support
│ ├── formatters.ts # Markdown formatters for API responses
│ └── image-service.ts # Image fetching and CDN transform URLs
├── tools/
│ ├── index.ts # Tool registration barrel with logging wrapper
│ ├── search-dogs.ts # rescuedogs_search_dogs handler
│ ├── get-dog-details.ts
│ ├── list-breeds.ts
│ ├── get-statistics.ts
│ ├── get-filter-counts.ts
│ ├── list-organizations.ts
│ ├── match-preferences.ts
│ └── get-adoption-guide.ts
├── utils/
│ └── mappings.ts # Value mappings (age, sex, country, preferences)
└── data/
└── adoption-guides.ts # Static adoption guide contentDevelopment
# Install dependencies
npm install
# Run tests
npm test
# Run tests with coverage
npm run test:coverage
# Type check
npm run typecheck
# Lint
npm run lint
# Lint with auto-fix
npm run lint:fix
# Build
npm run build
# Development mode (tsx)
npm run devContributing
See CONTRIBUTING.md. Issues and PRs welcome!
License
MIT
