rescuedogs-mcp-server

rescuedogs-mcp-server

MCP server for discovering rescue dogs from European and UK organizations. Search, filter, and get detailed profiles of dogs available for adoption.

Category
Visit Server

README

rescuedogs-mcp-server

npm version License: MIT

Search by lifestyle

Search demo

Get detailed profiles

Detail demo

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-server

Claude 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 search
  • breed - Filter by breed name
  • breed_group - Filter by FCI group (Herding, Sporting, etc.)
  • size - Tiny, Small, Medium, Large, XLarge
  • age_category - puppy, young, adult, senior
  • sex - male, female
  • energy_level - low, medium, high, very_high
  • experience_level - first_time_ok, some_experience, experienced_only
  • home_type - apartment_ok, house_preferred, house_required
  • adoptable_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 group
  • min_count - Minimum dogs available
  • limit - 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, rural
  • activity_level - sedentary, moderate, active, very_active
  • experience - first_time, some, experienced
  • has_children, has_other_dogs, has_cats - boolean
  • adoptable_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, timeline
  • country - 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-mcp

Environment 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 content

Development

# 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 dev

Contributing

See CONTRIBUTING.md. Issues and PRs welcome!

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured