# Hugging Bay with TypeScript 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 TypeScript MCP SDK 1.32.1 against a local build.

Ran the program below with only the endpoint and installed import paths changed: initialize, listTools and whats_new succeeded.

Not run yet

## Config

With @modelcontextprotocol/sdk installed, run this as an ES module. Server name: hugging-bay.

```
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";

const client = new Client({ name: "hugging-bay", version: "1.0.0" });
try {
  await client.connect(new StreamableHTTPClientTransport(new URL("https://huggingbay.xyz/api/mcp")));
  console.log(await client.listTools());
  console.log(await client.callTool({ name: "whats_new", arguments: { limit: 5 } }));
} finally {
  await client.close();
}
```

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