Data source: In-memory curated collection
Overview
Dog Breeds wraps In-memory curated collection, handling authentication, pagination, and rate limits for you. This tutorial covers all 6 tools with working code examples you can copy and run.
Prerequisites
- Sign up at https://context.gnist.ai/signup for a free API key (100 calls/day).
- Choose your integration method: MCP protocol or REST API.
Connect via MCP
Add to your MCP client config (Claude Desktop, Cursor, etc.):
{
"mcpServers": {
"gnist-dog-breeds": {
"url": "https://context.gnist.ai/mcp/dog-breeds/",
"headers": {
"Gnist-API-Key": "YOUR_API_KEY"
}
}
}
}
Tools (6)
get_dog_breed
Get detailed information about a specific dog breed. Returns breed characteristics including size, weight, temperament, coat type, and suitability for families.
| Parameter | Type | Required | Description |
|---|---|---|---|
breed_id | string | required | Slug ID of the breed (e.g. 'labrador-retriever', 'german-shepherd'). |
curl -X POST "https://context.gnist.ai/mcp/dog-breeds/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "get_dog_breed", "arguments": {"breed_id": "'labrador-retriever'"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/dog-breeds/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {'breed_id': "'labrador-retriever'"},
'name': 'get_dog_breed'}},
)
print(resp.json())
list_dog_breeds
List dog breeds with optional filters. Filters can be combined — for example, list all large breeds from Germany.
| Parameter | Type | Required | Description |
|---|---|---|---|
breed_group | any | optional | Filter by breed group (e.g. Sporting, Herding, Working, Toy, Terrier, Hound, Non-Sporting). |
size | any | optional | Filter by size (Small, Medium, Large, Giant). |
origin | any | optional | Filter by country of origin (e.g. Germany, Japan, United Kingdom). |
curl -X POST "https://context.gnist.ai/mcp/dog-breeds/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "list_dog_breeds", "arguments": {"breed_group": "Sporting"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/dog-breeds/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {'breed_group': 'Sporting'},
'name': 'list_dog_breeds'}},
)
print(resp.json())
search_dog_breeds
Search dog breeds by keyword. Searches across breed names, temperament traits, and descriptions. Case-insensitive.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | required | Search keyword — matches breed name, temperament traits, or description. |
max_results | any | optional | Maximum number of results (default: 20, max: 100). |
curl -X POST "https://context.gnist.ai/mcp/dog-breeds/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "search_dog_breeds", "arguments": {"query": "renewable energy"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/dog-breeds/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {'query': 'renewable energy'},
'name': 'search_dog_breeds'}},
)
print(resp.json())
get_random_dog_breed
Get a random dog breed from the database. Returns full details for a randomly selected breed — useful for discovery or games.
curl -X POST "https://context.gnist.ai/mcp/dog-breeds/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "get_random_dog_breed", "arguments": {}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/dog-breeds/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {}, 'name': 'get_random_dog_breed'}},
)
print(resp.json())
list_breed_groups
List all available breed group names. Returns the group names that can be used to filter breeds (e.g. Sporting, Herding, Working).
curl -X POST "https://context.gnist.ai/mcp/dog-breeds/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "list_breed_groups", "arguments": {}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/dog-breeds/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {}, 'name': 'list_breed_groups'}},
)
print(resp.json())
report_feedback
Report a bug, feature request, or general feedback for this data source. Use this when something doesn't work as expected, when you'd like a new feature, or when you have suggestions for improvement. Args: feedback: Describe the issue or suggestion. feedback_type: One of 'bug', 'feature_request', or 'general'.
| Parameter | Type | Required | Description |
|---|---|---|---|
feedback | string | required | |
feedback_type | string | optional | (default: general) |
curl -X POST "https://context.gnist.ai/mcp/dog-breeds/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "report_feedback", "arguments": {"feedback": "example"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/dog-breeds/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {'feedback': 'example'}, 'name': 'report_feedback'}},
)
print(resp.json())
Common Patterns
Use
list_dog_breeds to find items, then get_dog_breed to get full details. This two-step pattern is common for exploring data before drilling down.Several tools support
limit, offset, or page parameters. Start with small limits during development, then increase for production queries.FAQ
What data does Dog Breeds provide?
Curated dog breed database — search 50+ breeds by group, size, origin, or keyword, with detailed characteristics. It exposes 6 tools: get_dog_breed, list_dog_breeds, search_dog_breeds, get_random_dog_breed, list_breed_groups, report_feedback.
What do I need to get started?
A Gnist API key (free tier: 100 calls/day). Sign up at https://context.gnist.ai/signup.
What format does the Dog Breeds API return?
JSON, via either MCP protocol (JSON-RPC 2.0) or REST API.