Kilde Internal MCP · Teammate Guide
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), VWO (A/B experiments), Trading Economics (global macro data), Sentry (error monitoring), and Xray (test management). Connect once, then just ask.
@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”, “what VWO experiments exist?”, “what’s the GDP growth forecast for Singapore?”, “what are the unresolved Sentry errors from today?”, or “list the Xray tests in project ABC” — and it does it for you. No installing anything on your computer.
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.
@kilde.sg email.@kilde.sg Google account and approve.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.
Read and post in Mattermost from Claude — as yourself, in plain English.
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.
This “Personal Access Token” (PAT) is what lets Claude act as you in Mattermost.
https://mm.kilde.sg) in a browser.Claude), and copy the token — you’ll paste it next.Treat the token like a password — don’t paste it into chats, emails, or screenshots.
You paste it once on a Kilde-internal page. It never goes through Claude or any chat.
@kilde.sg Google account (if prompted).You only do this once. If you ever create a new token, just come back and enroll the new one.
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.
| You ask… | What happens |
|---|---|
| “list my channels in team” | Lists channels you belong to in that team |
| “read / show messages in #channel” | Returns recent messages (up to 100, default 20) |
| “post / send message to #channel” | Posts as you (asks for approval first) |
Name one of these teams (or a raw team ID) in your prompt:
| Team key | Team |
|---|---|
deal-origination | Deal Origination |
finance-and-ops | Finance & Ops |
kilde-internal-chateau | Kilde Internal Chateau |
marketing-and-sales | Marketing & Sales |
optimworks | Optimworks |
product-and-tech | Product & Tech |
safebay | Safebay |
For channels, use the channel’s handle/slug (lowercase, dashes), e.g. general, product-updates — not the display name “General”.
Ask questions about Kilde’s data in plain English — Claude writes and runs the query for you.
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.
| You ask… | What happens |
|---|---|
| “list / show the databases” | Lists all databases available |
| “what tables are in db” | Lists tables, optionally filtered to a database/schema |
| “query / count / show me data” | Runs a read-only query (up to 1000 rows, default 100) |
The default is kilde-prod-hashed — if you don’t name a database, queries run against it.
| Database | Notes |
|---|---|
kilde-prod-hashed | Default — production data with sensitive fields hashed |
kilde-prod | Production |
kilde-nonprod | Non-production |
kilde_analytics | Analytics |
kilde_finance | Finance |
kilde_ga4 | Google Analytics 4 |
kilde_ga_control_source | GA control source |
kilde_ga_fund | GA fund |
"kilde-prod-hashed".main.my_table. Claude usually handles this for you.Browse and search Kilde’s code, and check pull requests and recent changes — all by just asking.
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.
| 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 repo” | Reads a file’s contents (or lists a folder). You can pin a branch, tag, or commit. Large files are trimmed. |
| “search repo for term” | Searches code across the repos and returns the matching file paths |
| “what PRs are open / closed on repo” | Lists pull requests (open by default), most recently updated first |
| “recent commits on repo” | Lists recent commits on a branch |
| Repo | What it is |
|---|---|
kilde | The main backend repo |
kilde-frontend | The frontend / web app |
kilde-ai | AI / 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.
kilde, kilde-frontend, and kilde-ai.Look up deals, contacts, organizations, and activities from Claude — as yourself, in plain English.
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.
Treat the token like a password — don’t paste it into chats, emails, or screenshots.
This is the same enroll page as Mattermost — it just has a separate Pipedrive box.
@kilde.sg Google account (if prompted).You only do this once. If you ever regenerate your token, come back and enroll the new one.
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.
| 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 123” | Full details of one deal by its ID |
| “search deals for term” | Full-text search across deals |
| “find the contact / person name or email” | Searches people — name, email, phone, linked org |
| “search organizations for company” | Searches 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 |
Look up Kilde’s VWO account and its experiments (tests) from Claude — just ask.
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.
| 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 id” | Full config of one campaign — status, traffic split, variations, goals |
Ask about economic indicators, forecasts, historical series, the economic calendar, and market quotes for countries around the world — just ask.
Open a chat with Kilde Internal MCP on, and ask in plain English. Try:
No approval prompt is needed — every Trading Economics tool is read-only.
| You ask… | What happens |
|---|---|
| “search for indicator / country” | Finds matching indicators and countries in the Trading Economics catalog |
| “key indicators for country” | Snapshot of a country’s main macro indicators (GDP, inflation, rates, etc.) |
| “current value of indicator” | Latest value for a specific indicator |
| “forecast for indicator / country” | Trading Economics’ projected values |
| “historical indicator for country” | Time series of past values |
| “economic calendar” | Upcoming and recent releases (with dates, actual vs. forecast) |
| “market quotes for stocks / bonds / currencies / commodities” | Current market snapshots by asset class |
Look up Kilde’s Sentry projects, errors, and stack traces from Claude — just ask.
Open a chat with Kilde Internal MCP on, and ask in plain English. Try:
No approval prompt is needed — every Sentry tool is read-only.
| You ask… | What happens |
|---|---|
| “list the Sentry projects” | Lists projects in the Kilde org (slug, name, platform) |
| “list / show Sentry issues” | Lists issues (errors), newest first — defaults to unresolved; can scope to a project or filter with Sentry search terms |
| “get / show Sentry issue id” | Full detail of one issue — status, event counts, first/last seen |
| “latest event for issue id” | The most recent occurrence — full stack trace, tags, and context |
Look up Xray tests, test executions, and test plans (the QA data in Jira) from Claude — just ask.
Open a chat with Kilde Internal MCP on, and ask in plain English. Xray lives in Jira, so results are best when you name a project (or give a Jira JQL filter). Try:
No approval prompt is needed — every Xray tool is read-only.
| You ask… | What happens |
|---|---|
| “list Xray tests in project” | Lists tests matching a project/JQL — key, type, summary, status |
| “show Xray test executions for project” | Lists executions with a pass/fail summary of each one’s runs |
| “list Xray test plans in project” | Lists test plans — key, summary, and how many tests each holds |
ABC) or a Jira JQL filter — asking with no filter scans the whole Jira instance and is slow.| Problem | Fix |
|---|---|
| “Kilde Internal MCP” isn’t in my Connectors list | The org Owner hasn’t rolled it out to you yet — ask in #product-and-tech. |
| The login window won’t let me in | You must sign in with your @kilde.sg Google account (not a personal Google account). |
| Every tool returns a generic error | Your connector session may have expired — Disconnect and Connect the connector again in Settings → Connectors. |
| Claude doesn’t seem to use the tool | Make 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…”, “in Trading Economics…”, “in Sentry…”, “in Xray…”). |
| Problem | Fix |
|---|---|
| “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 nothing | Check you’re a member, and that you used the channel handle (product-updates), not the display name. |
| A 401/403 error from Mattermost | Your token was revoked or lacks permission — create and enroll a new token. |
| Problem | Fix |
|---|---|
| Claude says the query must be read-only | You asked for something that changes data. Only reads are allowed — rephrase as a question. |
| “No rows” / empty result | The query ran but matched nothing. Check the database/table name and your filters. |
| Parse error near a hyphen in a database name | Ask 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. |
| Problem | Fix |
|---|---|
| “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 nothing | Try different terms, or scope to one repo. GitHub code search can miss very new or very large files. |
| A file looks cut off | Large files are trimmed — ask for a narrower path or a specific section. |
| Problem | Fix |
|---|---|
| “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 there | The tools only see what your Pipedrive account can — check your visibility/permissions in Pipedrive. |
| A 401/403 error from Pipedrive | Your token was regenerated or lacks access — get a fresh token and enroll it again. |
| Problem | Fix |
|---|---|
| “Too many requests” / 429 | VWO rate-limits bursts. Wait a few seconds and ask again — no setup needed. |
| I want conversion / uplift numbers | Not 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. |
| Problem | Fix |
|---|---|
| A country or indicator returns nothing | It may be outside Kilde’s Trading Economics plan, or the name didn’t match — try the exact country name and a clearer indicator, or “search Trading Economics for …” first. |
| “Too many requests” / 429 | Trading Economics rate-limits bursts. Wait a few seconds and ask again. |
| “Trading Economics is not configured” | The shared key isn’t mounted on the server — an admin needs to set it up. Flag it in #product-and-tech. |
| Problem | Fix |
|---|---|
| A project or issue returns nothing | Check the project slug (ask “list the Sentry projects” first), and widen the time window or search query. |
| “Too many requests” / 429 | Sentry rate-limits bursts. Wait a few seconds and ask again. |
| “Sentry 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. |
| Problem | Fix |
|---|---|
| A query is slow or returns too much | Add a project or Jira JQL filter (e.g. project = "ABC") — an unfiltered query scans the whole instance. |
| A project’s tests aren’t showing | The connector reads through a shared Jira service account — that project may be outside its access. Flag it in #product-and-tech. |
| “Too many requests” / 429 | Xray rate-limits bursts. Wait a few seconds and ask again. |
| “Xray is not configured” | The shared API key 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.