MCP Enterprise Data
Connect enterprise systems to AI agents through MCP tools, resources, and prompts.
Written and reviewed by Eric Han · Co-founder & CTO, reopt
Key takeaways
- MCP is a useful enterprise data boundary when it exposes narrow tools and resources instead of broad database or API access.
- Design resources as read-only permission-filtered context, tools as narrow schema-bound actions, and prompts as reusable task patterns.
- Enforce source-system permissions inside MCP servers and return structured results rather than raw dumps.
- Separate read tools from mutation tools, require approval for side effects, and version tool schemas with deprecation notes.
- Test the boundary by asking whether one MCP server could safely serve two teams with different permissions.
AI SDK 7 and development MCP
Use createMCPClient from @ai-sdk/mcp, load an explicit tool allowlist, and pass the resulting tools to the generation call. Close a request-scoped client after completion; keep streaming clients alive until the stream ends. Server annotations are untrusted hints, so enforce tenant credentials, permissions, and approval policy separately. See AI SDK MCP.
Next.js 16+ exposes a development MCP endpoint at /_next/mcp; next-devtools-mcp discovers it and forwards runtime tool calls. Check the installed server's tool inventory. Keep this development diagnostic connection separate from enterprise data services. See Next.js MCP.
MCP is a useful boundary for enterprise data access when it exposes narrow tools and resources instead of giving agents broad database or API access.
MCP Resource Design
| Capability | Recommended posture |
|---|---|
| Resources | Read-only, permission-filtered context |
| Tools | Narrow actions with explicit schemas |
| Prompts | Reusable task patterns and constraints |
| Auth | User-aware or service-scoped credentials |
| Audit | Log every tool call with actor and input |
Enterprise Rules
- Enforce source system permissions inside MCP servers.
- Return structured results rather than raw dumps.
- Separate read tools from mutation tools.
- Require approval for side effects.
- Version tool schemas and publish deprecation notes.
Review Question
Could the same MCP server safely serve two teams with different permissions? If not, the access boundary is probably too broad.