Tacit MCP
Provides a tool to query the building knowledge graph through a Brick-compliant GraphQL interface, allowing AI assistants to compose queries about building sites, equipment, sensors, and zones.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Tacit MCPShow me all temperature sensors for AHU-01 in Tower West"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
tacit-mcp
MCP server that connects AI assistants to Tacit building digital twins. Ask questions about your buildings, equipment, sensors, and zones in natural language.
Works with Claude Desktop, Claude Code, Cursor, Windsurf, and any MCP-compatible client.
What it does
Four read-only tools:
Tool | Purpose |
| List buildings your API key can access |
| Query the building knowledge graph (Brick-compliant) |
| Fetch historical sensor data |
| List documents and files for a site |
The GraphQL tool includes the full schema reference, so the AI model can compose queries without needing separate documentation.
Quick start
Option A: npx (recommended — no install needed)
npx -y @tacit/mcp-serverJust point your MCP client at it (see configuration below). No cloning, no building.
Option B: Clone and build
git clone https://github.com/ucl-sbde/tacit-mcp.git
cd tacit-mcp
npm install
npm run buildYou'll need a Tacit API key. Get one from your dashboard at app.betacit.com under Site Settings > API Keys.
Connection methods
1. Stdio transport (local, default)
The standard method — the MCP client launches the server as a child process. Best for individual use on your own machine.
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"tacit": {
"command": "npx",
"args": ["-y", "@tacit/mcp-server"],
"env": {
"TACIT_API_KEY": "your-api-key"
}
}
}
}Claude Code
Add to .mcp.json in your project:
{
"mcpServers": {
"tacit": {
"command": "npx",
"args": ["-y", "@tacit/mcp-server"],
"env": {
"TACIT_API_KEY": "your-api-key"
}
}
}
}Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"tacit": {
"command": "npx",
"args": ["-y", "@tacit/mcp-server"],
"env": {
"TACIT_API_KEY": "your-api-key"
}
}
}
}2. Streamable HTTP transport (remote)
Run the server as a persistent HTTP service. Best for teams, cloud deployments, and environments where users can't install Node.js locally.
# Start the HTTP server
TACIT_API_KEY=your-api-key npm run start:http
# Or with npx
TACIT_API_KEY=your-api-key npx --package @tacit/mcp-server tacit-mcp-httpThe server listens on http://0.0.0.0:3001/mcp by default.
Connect from any MCP client
Point your client at the server URL with a bearer token:
{
"mcpServers": {
"tacit": {
"type": "streamable-http",
"url": "https://your-host:3001/mcp",
"headers": {
"Authorization": "Bearer your-api-key"
}
}
}
}HTTP configuration
Variable | Default | Description |
|
| Port to listen on |
|
| Bind address |
|
| MCP endpoint path |
| Required in API key mode | |
| Set to enable OAuth 2.1 mode |
Health check
GET /health → { "status": "ok", "transport": "streamable-http", "sessions": 3 }3. OAuth 2.1 (enterprise)
For production deployments where you want users to authenticate via Tacit's login flow instead of managing API keys:
TACIT_OAUTH_ISSUER=https://app.betacit.com npm run start:httpThis enables:
Dynamic client registration — MCP clients register automatically
Authorization code + PKCE — users log in through Tacit's web UI
Token refresh — sessions stay alive without re-authentication
Token revocation — clean session termination
MCP clients that support OAuth (like Claude Desktop) will discover the auth configuration automatically via the .well-known/oauth-authorization-server metadata endpoint.
4. Docker
docker run -p 3001:3001 -e TACIT_API_KEY=your-api-key tacit/mcp-serverConnect using the HTTP transport config above.
Try it
Once connected, ask your AI assistant things like:
"List all my building sites"
"What AHUs are in Tower West?"
"Show me temperature sensors on AHU-001"
"Get the last 24 hours of supply air temperature data"
"What equipment feeds the lobby zone?"
Environment variables
Variable | Required | Default | Description |
| Yes (stdio/HTTP) | Your Tacit API key | |
| No |
| API base URL (for self-hosted deployments) |
| No | OAuth issuer URL (enables OAuth 2.1 mode) | |
| No |
| HTTP server port |
| No |
| HTTP server bind address |
| No |
| HTTP MCP endpoint path |
Development
npm run dev # watch mode — stdio transport
npm run dev:http # watch mode — HTTP transport
npm run build # compile TypeScript
npm start # run stdio transport
npm run start:http # run HTTP transportLicense
MIT
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/ucl-sbde/tacit-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server