Hugging Face MCP Server
An MCP server that provides Hugging Face Hub API and Search endpoints through multiple transport protocols (STDIO, SSE, StreamableHTTP, and StreamableHTTPJson), enabling integration with AI model capabilities.
README
hf-mcp-server packages
Quick Guide
This repo contains:
- (
/mcp) MCP Implementations of Hub API and Search endpoints for integration with MCP Servers. - (
/app) An MCP Server and Web Application for deploying endpoints.
MCP Server
The following transports are supported:
- STDIO
- SSE (To be deprecated, but still commonly deployed).
- StreamableHTTP
- StreamableHTTP in Stateless JSON Mode (StreamableHTTPJson)
The Web Application and HTTP Transports start by default on Port 3000.
SSE and StreamableHTTP services are available at /sse and /mcp respectively. Although though not strictly enforced by the specification this is common convention.
[!TIP] The Web Application allows you to switch tools on and off. For STDIO, SSE and StreamableHTTP this will send a ToolListChangedNotification to the MCP Client. In StreamableHTTPJSON mode the tool will not be listed when the client next requests the tool lists.
Development
This project uses pnpm for build and development.
pnpm run clean -> clean build artifacts
pnpm run build -> build packages
pnpm run start -> start the mcp server application
pnpm run buildrun -> clean, build and start
pnpm run dev -> concurrently watch mcp and start dev server with HMR
Docker Build
Build the image:
docker build -t hf-mcp-server .
Run with default settings (Streaming HTTP JSON Mode), Dashboard on Port 3000:
docker run --rm -p 3000:3000 -e DEFAULT_HF_TOKEN=hf_xxx hf-mcp-server
Run STDIO MCP Server:
docker run -i --rm -e TRANSPORT=stdio -p 3000:3000 -e DEFAULT_HF_TOKEN=hf_xxx hf-mcp-server
TRANSPORT can be stdio, sse, streamingHttp or streamingHttpJson (default).
Transport Endpoints
The different transport types use the following endpoints:
- SSE:
/sse(with message endpoint at/message) - Streamable HTTP:
/mcp(regular or JSON mode) - STDIO: Uses stdin/stdout directly, no HTTP endpoint
Stateful Connection Management
The sse and streamingHttp transports are both stateful - they maintain a connection with the MCP Client through an SSE connection. When using these transports, the following configuration options take effect:
| Environment Variable | Default | Description |
|---|---|---|
MCP_CLIENT_HEARTBEAT_INTERVAL |
30000ms | How often to check SSE connection health |
MCP_CLIENT_CONNECTION_CHECK |
90000ms | How often to check for stale sessions |
MCP_CLIENT_CONNECTION_TIMEOUT |
300000ms | Remove sessions inactive for this duration |
MCP_PING_ENABLED |
true | Enable ping keep-alive for sessions |
MCP_PING_INTERVAL |
30000ms | Interval between ping cycles |
Environment Variables
The server respects the following environment variables:
TRANSPORT: The transport type to use (stdio, sse, streamableHttp, or streamableHttpJson)DEFAULT_HF_TOKEN: ⚠️ Requests are serviced with the HF_TOKEN received in the Authorization: Bearer header. The DEFAULT_HF_TOKEN is used if no header was sent. Only set this in Development / Test environments or for local STDIO Deployments. ⚠️- If running with
stdiotransport,HF_TOKENis used ifDEFAULT_HF_TOKENis not set. HF_API_TIMEOUT: Timeout for Hugging Face API requests in milliseconds (default: 12500ms / 12.5 seconds)USER_CONFIG_API: URL to use for User settings (defaults to Local front-end)MCP_STRICT_COMPLIANCE: set to True for GET 405 rejects in JSON Mode (default serves a welcome page).
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.