Kilde Internal MCP · Teammate Guide

The Kilde Internal MCP Connector

One connector in Claude that lets you talk to Kilde systems in plain English — Mattermost (team chat), MotherDuck (the data warehouse), GitHub (our code), Pipedrive (the CRM), and VWO (A/B experiments). Connect once, then just ask.

What is this, in one line? “MCP” is just the plug that lets Claude reach Kilde’s tools. You turn on one connector called “Kilde Internal MCP” with your @kilde.sg account, and then you can ask Claude things like “show me the last messages in #general”, “how many rows are in the invoices table?”, “what PRs are open on kilde-frontend?”, “list my open Pipedrive deals”, or “what VWO experiments exist?” — and it does it for you. No installing anything on your computer.

Start here — connect once ~2 min

All three tools live behind the same single connector. You only do this part once; after that, picking which tool to use is automatic — you just ask Claude in plain language.

What you need

Turn on the “Kilde Internal MCP” connector

  1. Open Claude (web, Desktop, or mobile).
  2. Go to Settings → Connectors.
  3. Find “Kilde Internal MCP” in the list and click Connect.
  4. A login window opens — sign in with your @kilde.sg Google account and approve.
  5. Done. You’ll see the connector listed with its tools.
Don’t see “Kilde Internal MCP” in the list? It’s an organization connector that an Owner switches on once for the whole company. If it’s missing, it may not have been rolled out to you yet — ask in #product-and-tech.

In each chat where you want to use it, turn it on with the + (tools) menu in the message box — toggle “Kilde Internal MCP” on. That’s it. Now pick the section below for what you want to do.

The one difference to know: MotherDuck, GitHub, and VWO work the moment you connect — nothing else to set up. Mattermost and Pipedrive each need one extra one-time step (a personal token) so that Claude acts as you — seeing exactly what you’re allowed to see. Both are enrolled on the same enroll page; details in their sections.

💬 Mattermost — team chat needs your token ~5 min setup

Read and post in Mattermost from Claude — as yourself, in plain English.

In one line: after connecting, you enroll your own Mattermost token once. From then on Claude can reach exactly the channels you have access to, and anything you post shows up authored by you.

Why the extra step?

Mattermost acts as you — so it can only see your channels, and your messages are genuinely from you (not a shared bot). To do that, Claude needs a personal “key” from your Mattermost account. You set this up once.

Step 1 — Create your Mattermost token ~2 min

This “Personal Access Token” (PAT) is what lets Claude act as you in Mattermost.

  1. Open Mattermost (https://mm.kilde.sg) in a browser.
  2. Click your profile avatarProfile → Security → Personal Access Tokens.
  3. Click Create Token, name it (e.g. Claude), and copy the token — you’ll paste it next.
Don’t see “Personal Access Tokens”? An admin needs to enable it (System Console → Integrations → Integration Management → Enable Personal Access Tokens). Ask in #product-and-tech.

Treat the token like a password — don’t paste it into chats, emails, or screenshots.

Step 2 — Enroll your token one-time ~2 min

You paste it once on a Kilde-internal page. It never goes through Claude or any chat.

  1. Open https://mcp-backend.kilde.sg/enroll in a browser.
  2. Sign in with your @kilde.sg Google account (if prompted).
  3. Paste your Mattermost token and click Save token.
  4. You should see ✓ Enrolled … (@your-username) — that confirms it’s valid and saved.

You only do this once. If you ever create a new token, just come back and enroll the new one.

Your token is stored encrypted on the Kilde side (Google Secret Manager) and is only used to act as you when you ask Claude to do something in Mattermost.

Step 3 — Try it ~1 min

Wait ~30 seconds after enrolling, open a new chat, make sure Kilde Internal MCP is on, and try:

When you post, Claude asks you to approve first, and the message appears in Mattermost authored by you.

What you can do

You ask…What happens
“list my channels in teamLists channels you belong to in that team
“read / show messages in #channelReturns recent messages (up to 100, default 20)
“post / send message to #channelPosts as you (asks for approval first)

Teams & channels

Name one of these teams (or a raw team ID) in your prompt:

Team keyTeam
deal-originationDeal Origination
finance-and-opsFinance & Ops
kilde-internal-chateauKilde Internal Chateau
marketing-and-salesMarketing & Sales
optimworksOptimworks
product-and-techProduct & Tech
safebaySafebay

For channels, use the channel’s handle/slug (lowercase, dashes), e.g. general, product-updates — not the display name “General”.

Good to know

🦆 MotherDuck — data warehouse read-only ~1 min

Ask questions about Kilde’s data in plain English — Claude writes and runs the query for you.

In one line: once the connector is on, just ask about the warehouse — Claude runs read-only queries. Unlike Mattermost, there’s no token to set up: data access is handled on the Kilde side.

How to use it

Open a chat with Kilde Internal MCP on, and ask in plain English. Claude figures out the query and runs it. Try:

No approval prompt is needed — every MotherDuck tool is read-only, so it can look but never change anything.

What you can do

You ask…What happens
“list / show the databases”Lists all databases available
“what tables are in dbLists tables, optionally filtered to a database/schema
“query / count / show me dataRuns a read-only query (up to 1000 rows, default 100)

Databases you can query

The default is kilde-prod-hashed — if you don’t name a database, queries run against it.

DatabaseNotes
kilde-prod-hashedDefault — production data with sensitive fields hashed
kilde-prodProduction
kilde-nonprodNon-production
kilde_analyticsAnalytics
kilde_financeFinance
kilde_ga4Google Analytics 4
kilde_ga_control_sourceGA control source
kilde_ga_fundGA fund

Good to know

🐙 GitHub — our code & pull requests read-only ~1 min

Browse and search Kilde’s code, and check pull requests and recent changes — all by just asking.

In one line: like MotherDuck, GitHub works as soon as the connector is on — no token to set up. Claude can read code, search it, and inspect PRs and commits, but it can never push, merge, or change anything.

How to use it

Open a chat with Kilde Internal MCP on, and ask in plain English. Try:

No approval prompt is needed — every GitHub tool is read-only.

What you can do

You ask…What happens
“list the repos”Lists the repos this connector can see, with each one’s default branch and description
“show me file from repoReads a file’s contents (or lists a folder). You can pin a branch, tag, or commit. Large files are trimmed.
“search repo for termSearches code across the repos and returns the matching file paths
“what PRs are open / closed on repoLists pull requests (open by default), most recently updated first
“recent commits on repoLists recent commits on a branch

Repositories you can query

RepoWhat it is
kildeThe main backend repo
kilde-frontendThe frontend / web app
kilde-aiAI / data tooling

Ask about a repo by its name above. If you ask about a different repo, GitHub will simply return “not found” — the connector is locked to these three.

Good to know

🤝 Pipedrive — the CRM needs your token read-only ~3 min setup

Look up deals, contacts, organizations, and activities from Claude — as yourself, in plain English.

In one line: like Mattermost, you enroll your own Pipedrive token once. From then on Claude sees exactly the deals and contacts your Pipedrive account can see — and it can only read, never change anything.

Why the extra step?

Pipedrive acts as you, so it respects your CRM visibility — you only see what you’d see when logged in to Pipedrive yourself. There’s no shared all-seeing key. To do that, Claude needs a personal API token from your Pipedrive account. You set this up once.

Step 1 — Get your Pipedrive API token ~1 min

  1. Open Pipedrive in a browser.
  2. Go to Settings → Personal preferences → API.
  3. Copy your personal API token — you’ll paste it next.

Treat the token like a password — don’t paste it into chats, emails, or screenshots.

Step 2 — Enroll your token one-time ~1 min

This is the same enroll page as Mattermost — it just has a separate Pipedrive box.

  1. Open https://mcp-backend.kilde.sg/enroll in a browser.
  2. Sign in with your @kilde.sg Google account (if prompted).
  3. In the Pipedrive box, paste your token and click Save Pipedrive token.
  4. You should see ✓ Enrolled … (Your Name (you@kilde.sg)) — that confirms it’s valid and saved.

You only do this once. If you ever regenerate your token, come back and enroll the new one.

Your token is stored encrypted on the Kilde side (Google Secret Manager) and is only used to act as you when you ask Claude something about Pipedrive. It never passes through Claude or any chat.

Step 3 — Try it ~1 min

Wait ~30 seconds after enrolling, open a new chat, make sure Kilde Internal MCP is on, and try:

No approval prompt is needed — every Pipedrive tool is read-only.

What you can do

You ask…What happens
“list my deals” (open / won / lost)Lists deals you can see, newest first; can filter by status or stage
“get / show deal 123Full details of one deal by its ID
“search deals for termFull-text search across deals
“find the contact / person name or emailSearches people — name, email, phone, linked org
“search organizations for companySearches companies
“what activities are pending / done”Lists activities (calls, meetings, tasks)
“list the pipeline stages”Shows pipelines + stages, so a deal’s stage reads as a name

Good to know

🧪 VWO — A/B experiments read-only ~1 min

Look up Kilde’s VWO account and its experiments (tests) from Claude — just ask.

In one line: like MotherDuck and GitHub, VWO works as soon as the connector is on — no token to set up. Claude can read the account info and campaign configuration, but can’t change anything.

How to use it

Open a chat with Kilde Internal MCP on, and ask in plain English. Try:

No approval prompt is needed — every VWO tool is read-only.

What you can do

You ask…What happens
“VWO account info”Account summary — name, timezone, company, industry
“list VWO campaigns / experiments”Lists campaigns newest-first — status, type, created date/author
“get / show VWO campaign idFull config of one campaign — status, traffic split, variations, goals

Good to know

Troubleshooting

Any tool

ProblemFix
“Kilde Internal MCP” isn’t in my Connectors listThe org Owner hasn’t rolled it out to you yet — ask in #product-and-tech.
The login window won’t let me inYou must sign in with your @kilde.sg Google account (not a personal Google account).
Every tool returns a generic errorYour connector session may have expired — Disconnect and Connect the connector again in Settings → Connectors.
Claude doesn’t seem to use the toolMake sure Kilde Internal MCP is toggled on via the + menu in that chat, and say which system you mean (“in Mattermost…”, “in MotherDuck…”, “in GitHub…”, “in Pipedrive…”, “in VWO…”).

Mattermost

ProblemFix
“No Mattermost token enrolled for you”You haven’t enrolled, or it’s been <30s since you did. Enroll at https://mcp-backend.kilde.sg/enroll and retry.
Enroll says “Token validation failed”The token is wrong/expired or copied incompletely. Create a fresh token and try again.
“Unknown team …”Use a team key from the table above (or a raw team ID).
A channel isn’t found / returns nothingCheck you’re a member, and that you used the channel handle (product-updates), not the display name.
A 401/403 error from MattermostYour token was revoked or lacks permission — create and enroll a new token.

MotherDuck

ProblemFix
Claude says the query must be read-onlyYou asked for something that changes data. Only reads are allowed — rephrase as a question.
“No rows” / empty resultThe query ran but matched nothing. Check the database/table name and your filters.
Parse error near a hyphen in a database nameAsk Claude to “quote the database name”: "kilde-prod-hashed".schema.table.
“Could not connect to MotherDuck”Usually a temporary hiccup — wait a moment and retry. If it persists, flag it in #product-and-tech.

GitHub

ProblemFix
“GitHub is not configured”The shared token isn’t mounted on the server — an admin needs to set it up. Flag it in #product-and-tech.
A repo returns “404 / not found”It’s outside the three allowed repos (kilde, kilde-frontend, kilde-ai), or the file/path doesn’t exist on that branch.
Code search returns nothingTry different terms, or scope to one repo. GitHub code search can miss very new or very large files.
A file looks cut offLarge files are trimmed — ask for a narrower path or a specific section.

Pipedrive

ProblemFix
“No Pipedrive token enrolled for you”You haven’t enrolled, or it’s been <30s since you did. Enroll the Pipedrive box at https://mcp-backend.kilde.sg/enroll and retry.
Enroll says “Token validation failed”The token is wrong/incomplete. Re-copy it from Pipedrive → Settings → Personal preferences → API and try again.
A deal/contact you expect isn’t thereThe tools only see what your Pipedrive account can — check your visibility/permissions in Pipedrive.
A 401/403 error from PipedriveYour token was regenerated or lacks access — get a fresh token and enroll it again.

VWO

ProblemFix
“Too many requests” / 429VWO rate-limits bursts. Wait a few seconds and ask again — no setup needed.
I want conversion / uplift numbersNot available through the connector yet — it covers account & campaign config only. Use the VWO dashboard for results.
“VWO is not configured”The shared token isn’t mounted on the server — an admin needs to set it up. Flag it in #product-and-tech.

Still stuck? Ask in #product-and-tech.