Connect Microsoft Copilot to your PostgreSQL database
Microsoft Copilot queries your PostgreSQL data through Myriade's MCP server: with business context, read-only, under each user's access rights.
Standard MCP · not tested by MyriadePrerequisites
- A Myriade account on app.myriade.ai (or on your self-hosted instance).
- Network access from Myriade to PostgreSQL, with a read-only account.
- Microsoft Copilot, on a plan that allows custom MCP servers (see the note in step 2).
1. Connect PostgreSQL to Myriade
Host, port (5432 by default), database, user and password. Neon databases connect with their connection string alone, over TLS.
Best practice: use a dedicated role with CONNECT, USAGE on the schemas and SELECT on the tables, or the pg_read_all_data role.
2. Add Myriade to Microsoft Copilot
Microsoft Copilot reaches MCP servers in two places: Copilot Studio agents and GitHub Copilot in VS Code.
- 1Take the Myriade MCP address: https://app.myriade.ai/mcp.
- 2Copilot Studio: in your agent, Tools → Add a tool → New tool → Model Context Protocol, then paste this URL. VS Code: declare the server in .vscode/mcp.json (snippet below).
- 3Pick OAuth 2.0 with dynamic discovery in Copilot Studio; VS Code opens the OAuth sign-in in your browser.
{ "servers": { "myriade": { "type": "http", "url": "https://app.myriade.ai/mcp" } } }On Copilot Business and Enterprise, an org admin must first enable the “MCP servers in Copilot” policy for VS Code. In Microsoft 365 Copilot, MCP servers are added by a developer, through a declarative agent.
Self-hosted Myriade (optional): replace app.myriade.ai with your instance's host.
3. Check the connection
Ask Microsoft Copilot a few questions:
- “Which tables describe customer orders in PostgreSQL?” The assistant searches the Myriade catalog before writing SQL.
- “What was revenue by region last quarter?” Read-only SQL, run under your access rights, saved in Myriade.
- “Did any alert fire on our KPIs this week?” The assistant reads Myriade's checks and alerts.
What Myriade enforces
- INSERT, UPDATE, DELETE, DROP… blocked; a query that cannot be parsed is rejected
- Maximum duration per query and a cap on concurrent queries
- At most 50 rows returned to the assistant
- Database visibility, team rules on tables and columns
- Protected columns stay masked, including for the assistant
Frequently asked questions
Can Microsoft Copilot modify or delete data in PostgreSQL?
No. SQL queries that Microsoft Copilot sends through Myriade's MCP server are parsed before they reach PostgreSQL: any write (INSERT, UPDATE, DELETE, DROP…) is rejected, even nested in a subquery, and a query that cannot be parsed is refused. As a precaution, also connect Myriade to PostgreSQL with a read-only account.
Does Microsoft Copilot connect directly to PostgreSQL?
No. Microsoft Copilot only talks to Myriade's MCP server: Myriade alone holds the PostgreSQL credentials and runs the queries. On Myriade Cloud, the MCP address is public and Myriade must be able to reach PostgreSQL. If you choose to self-host Myriade, the connection to PostgreSQL starts from your own infrastructure, and the MCP address must stay reachable by Microsoft Copilot.
Is Microsoft Copilot compatible with Myriade?
Microsoft Copilot supports remote MCP servers, and Myriade exposes a standard MCP server (Streamable HTTP, OAuth). Myriade has not tested this connection yet: tell us if you try it, we will help you set it up.
No Myriade account yet?
Book a demo to see Myriade on your own data.
