GnistAI GnistAI
Log in

Getting Started with Dog Breeds

Curated dog breed database — search 50+ breeds by group, size, origin, or keyword, with detailed characteristics.

All Tutorials   |   Overview   |   Playground   |   MCP   |   REST API   |   Home
Reference

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

  1. Sign up at https://context.gnist.ai/signup for a free API key (100 calls/day).
  2. Choose your integration method: MCP protocol or REST API.

Connect via MCP

Add to your MCP client config (Claude Desktop, Cursor, etc.):

MCP Config
{
  "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.

ParameterTypeRequiredDescription
breed_idstringrequiredSlug 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.

ParameterTypeRequiredDescription
breed_groupanyoptionalFilter by breed group (e.g. Sporting, Herding, Working, Toy, Terrier, Hound, Non-Sporting).
sizeanyoptionalFilter by size (Small, Medium, Large, Giant).
originanyoptionalFilter 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.

ParameterTypeRequiredDescription
querystringrequiredSearch keyword — matches breed name, temperament traits, or description.
max_resultsanyoptionalMaximum 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'.

ParameterTypeRequiredDescription
feedbackstringrequired
feedback_typestringoptional (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

Search then retrieve
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.
Pagination
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.

Next Steps

Related Tutorials