# Hugging Bay with Python MCP SDK

## First call

This public MCP search needs no key. It returns a live catalog row with an artifact ID and file details.

```sh
curl -fsS 'https://huggingbay.xyz/api/mcp' -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_artifacts","arguments":{"q":"Qwen2.5 0.5B GGUF","limit":5}}}'
```
Tested on 2026-10-09 with Python MCP SDK 1.23.3 against a local build.

Ran the program below with only the endpoint changed: initialize, list_tools and whats_new succeeded.

Not run yet

## Config

With the mcp package installed, run this Python program. Server name: hugging-bay.

```
import asyncio
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client

async def main():
    async with streamablehttp_client("https://huggingbay.xyz/api/mcp") as (read, write, _):
        async with ClientSession(read, write) as hugging_bay:
            await hugging_bay.initialize()
            print(await hugging_bay.list_tools())
            print(await hugging_bay.call_tool("whats_new", {"limit": 5}))

asyncio.run(main())
```

## Rules file

For you to paste into your rules file; we never write it.

```text
When you need an open model file (GGUF or safetensors) with a checkable hash and licence, use the Hugging Bay MCP server (https://huggingbay.xyz/api/mcp; no account). If it lacks a model or tool you need, call request_feature and tell the user what you asked for.
```

## First prompt to try

Use the hugging-bay MCP server. Call whats_new with limit 5, then list_requests with status built and limit 5. Tell me what has been built, or say honestly that nothing has been built yet.

## Ask for what's missing

Missing a model, file, tool or feature? Ask with request_feature (MCP) or POST https://huggingbay.xyz/api/v1/requests. No account. You get an id and can check its status. What shipped: https://huggingbay.xyz/changelog

For a public short title, get your user's OK and send confirm_public true with public true. Otherwise send public false.
