Skip to main content

What is this?

The Tacit MCP server lets AI assistants like Claude, Cursor, and Windsurf query your building data directly. Ask natural language questions about your buildings, equipment, sensors, and zones. The AI uses your live Tacit data to answer.
You:    "What AHUs are in Tower West?"
Claude: [calls tacit_graphql] → "Tower West has 5 AHUs: TW01-XX-AHU-001,
         TW01-XX-AHU-002, TW02-XX-AHU-001, TW20-XX-AHU-001, and
         TW01-XX-MVHR-001. TW01-XX-AHU-001 feeds 2 VAVs serving the Library."

Setup

Step 1: Get your API key

  1. Sign in to app.betacit.com
  2. Go to Site Settings > API Keys
  3. Click Create Key and copy it immediately
The full API key is shown only once. Copy it before closing the dialog.

Step 2: Clone the MCP server

git clone https://github.com/ucl-sbde/tacit-mcp.git
cd tacit-mcp
npm install
npm run build

Step 3: Configure your AI client

Add to your project’s .mcp.json:
{
  "mcpServers": {
    "tacit": {
      "command": "node",
      "args": ["/path/to/tacit-mcp/dist/index.js"],
      "env": {
        "TACIT_API_KEY": "your-api-key"
      }
    }
  }
}
Replace /path/to/tacit-mcp/dist/index.js with the actual path where you cloned the repository.

Step 4: Start asking questions

Once connected, try these prompts:
  • “List all my building sites”
  • “What equipment is in [building name]?”
  • “Show me all temperature sensors on AHU-01”
  • “What HVAC zones are on Floor 3?”
  • “What systems does this building have?”

Available tools

ToolDescription
tacit_list_sitesList all sites your API key can access. Call this first to discover site IDs.
tacit_graphqlExecute any GraphQL query against the building knowledge graph. Compose queries freely using the Brick-compliant schema.
tacit_timeseriesQuery historical sensor data for one or more points by timeseriesId.
tacit_list_filesList documents and files for a site (spec sheets, maintenance docs, BIM files, 3D models).
All tools are read-only. The AI can query your data but cannot modify anything. The tacit_graphql tool embeds the full GraphQL schema reference so the AI model can compose queries without external documentation.

Example conversation

You: What’s the HVAC setup at UCL East? Claude: Let me look that up. [Calls tacit_list_sites to find the site ID, then tacit_graphql to query buildings and systems] One Pool Street has 3 wings (Tower West, Tower East, Podium) with 6 HVAC systems:
  • Air Handling Units: 13 AHUs across all wings
  • Variable Air Volume: 32 VAV boxes
  • Fan Coil Units: 60 FCUs (mostly in Podium)
  • MVHR: 6 mechanical ventilation heat recovery units
  • Heat Interface Units: 2 HIU systems (Tower East, Tower West)
  • Building Monitoring: weather station and metering
Want me to drill into a specific wing or system?
You: Show me the sensors on the main AHU in Tower East Level 1 Claude: [Calls tacit_graphql with equipment and points query] TE01-XX-AHU-001 has 52 points including:
  • Supply Air Temperature Sensor (20.7 °C)
  • Return Air Temperature Sensor (22.1 °C)
  • Damper Position Command (75%)
  • Fan Speed Command (85%)
It feeds 5 VAVs serving Lobby 1, North Stair, Research Hub, and 2 Seminar Spaces.

Environment variables

VariableRequiredDefaultDescription
TACIT_API_KEYYes-Your Tacit API key
TACIT_API_URLNohttps://app.betacit.comAPI base URL

Next steps

MCP package reference

Full tool reference with all parameters.

Query building data

Learn what you can query through the GraphQL schema.