Skip to main content
Glama

Smithsonian Open Access MCP Server

by molanojustin
MIT License
233
2
  • Apple
  • Linux
find_bert_ernie.py2.42 kB
""" Search for Bert and Ernie specifically in the Smithsonian database. """ import asyncio import sys from pathlib import Path sys.path.insert(0, str(Path(__file__).parent.parent)) from smithsonian_mcp.api_client import create_client from smithsonian_mcp.models import CollectionSearchFilter async def search_for_bert_and_ernie(): """Search for Bert and Ernie in different ways.""" print("=" * 80) print("Searching for Bert and Ernie") print("=" * 80) client = await create_client() try: search_terms = [ "bert ernie", "bert", "ernie", "sesame street bert", "sesame street ernie", ] for term in search_terms: print(f"\n{'=' * 80}") print(f"Searching for: '{term}' at NMAH") print(f"{'=' * 80}") filters = CollectionSearchFilter( query=term, unit_code="NMAH", on_view=None, limit=100, offset=0, object_type=None, maker=None, material=None, topic=None, has_images=None, has_3d=None, is_cc0=None, date_start=None, date_end=None, ) results = await client.search_collections(filters) print( f"Found {results.total_count} total results, returned {results.returned_count}" ) if results.objects: print(f"\nFirst 10 results:") for idx, obj in enumerate(results.objects[:10], 1): on_view_status = "ON VIEW" if obj.is_on_view else "not on view" print(f"{idx}. {obj.title} [{on_view_status}]") if obj.is_on_view and obj.exhibition_location: print(f" Location: {obj.exhibition_location}") on_view = [obj for obj in results.objects if obj.is_on_view] print(f"\nOn-view items: {len(on_view)}") for obj in on_view: print(f" - {obj.title}") if obj.exhibition_location: print(f" Location: {obj.exhibition_location}") finally: await client.disconnect() if __name__ == "__main__": asyncio.run(search_for_bert_and_ernie())

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/molanojustin/smithsonian-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server