Labsco
MCP SERVER

CData Microsoft Teams MCP Server

by CDataSoftware

Ask questions of live Microsoft Teams data in plain language — a read-only MCP server that models Teams as SQL tables through CData's JDBC driver.

SaaS-to-SQL Connectors
Summary
Read-only by construction.

Three tools and no write path is the whole design: the model discovers tables, reads columns and runs SELECTs, so a badly framed question produces a wrong answer rather than a changed record. Two things decide whether it fits. The CData JDBC driver is a separate licensed product, with a trial key to start on. And the `Tables` field in the connection profile is where you choose how much of Teams is reachable — left blank, everything the connection can see is in scope.

What it is

A read-only MCP server built on CData's JDBC Driver for Microsoft Teams. The driver exposes Teams as relational tables; the server puts three tools over it, so a client can discover what tables exist, read a table's columns, and run a SELECT — without anyone writing SQL by hand.

What you get
  • The tables the driver exposes for Microsoft Teams, returned as CSV with a header row — `microsoft_teams_get_tables`
  • The columns of one of those tables, also as CSV, so a query can be composed against real field names — `microsoft_teams_get_columns`
  • A SQL SELECT executed against live Microsoft Teams data — `microsoft_teams_run_query`
  • Tool names that carry the prefix you set in the connection profile — the sample uses `Prefix=msteams` — so several CData servers can run side by side without colliding
  • A `Tables` field in the profile that decides how much of Teams is visible at all: leave it blank for everything the connection can reach, or list the tables you want exposed
Requirements

Java and Maven to build — `mvn clean install` produces `CDataMCP-jar-with-dependencies.jar`. The CData JDBC Driver for Microsoft Teams is a separate download and needs licensing: run `java -jar cdata.jdbc.msteams.jar --license` and enter a name, an email and either `TRIAL` or a licence key. Connection settings go in a `.prp` file carrying `Prefix`, `ServerName` (the sample uses `CDataMSTeams`), `ServerVersion`, `DriverPath`, `DriverClass` (`cdata.jdbc.msteams.MSTeamsDriver`), the `JdbcUrl` produced by the driver's connection-string utility, and the optional `Tables` list. The client then launches `java -jar CDataMCP-jar-with-dependencies.jar <your>.prp`. Transport is stdio, so the server has to run on the same machine as the client. Microsoft Teams authenticates over OAuth, so you approve it in a browser while building the connection string.