API Registry MCP Server
Provides AI-powered API discovery and management platform for registering, cataloging, and executing calls to external APIs through Databricks, with support for SQL warehouse queries and Delta table storage of API metadata.
Supports bearer token authentication for accessing GitHub API endpoints, enabling registration and management of GitHub API calls.
Supports bearer token authentication for accessing Shopify API endpoints, enabling registration and management of Shopify API calls.
Supports bearer token authentication for accessing Stripe API endpoints, enabling registration and management of Stripe API calls.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@API Registry MCP Serverregister the Stripe API with my production key"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
š Dataverse MCP Server
A Model Context Protocol (MCP) server for Microsoft Dataverse, enabling AI assistants like Claude to interact with Dataverse data through natural language.
Built on: Model Context Protocol | Microsoft Dataverse MCP Spec
What is This?
This MCP server exposes Microsoft Dataverse tables and records through the Model Context Protocol, allowing AI assistants to:
š List and explore Dataverse tables (entities)
š Query records with OData filters and sorting
āļø Create new records in any table
š Update existing records by GUID
š¤ Natural language interface via Claude Desktop, VS Code, or any MCP client
Related MCP server: APIWeaver
Quick Start
1. Prerequisites
Python 3.11+
Dataverse environment with API access
Azure AD app registration with Dataverse permissions
2. Install
# Install dependencies
pip install fastapi uvicorn requests python-dotenv fastmcp
# Or with uv (recommended)
uv pip install fastapi uvicorn requests python-dotenv fastmcp3. Configure
Run the setup script:
chmod +x setup_dataverse.sh
./setup_dataverse.shOr manually create .env.local:
DATAVERSE_HOST=https://org1bfe9c69.api.crm.dynamics.com
DATAVERSE_TENANT_ID=your-tenant-id
DATAVERSE_CLIENT_ID=your-client-id
DATAVERSE_CLIENT_SECRET=your-client-secret4. Test Connection
python test_dataverse.pyExpected output: ā
All tests passed! Dataverse MCP server is ready.
5. Start Server
Option A: Run Locally
./watch.sh
# Or: uvicorn server.app:combined_app --reload --port 8000Option B: Deploy to Databricks Apps
./deploy.sh --createš See DATABRICKS_DEPLOYMENT.md for deployment guide.
Server endpoints:
š§ MCP:
http://localhost:8000/mcp(local) orhttps://your-app.databricksapps.com/apps/your-app/mcp(cloud)š Docs:
http://localhost:8000/docsā¤ļø Health:
http://localhost:8000/api/health
Documentation
Document | Description |
5-minute quick start guide | |
Detailed Azure AD & Dataverse setup | |
Deploy to Databricks Apps | |
Complete reference documentation |
Available MCP Tools
Phase 1 (Implemented)
Tool | Description |
| Server health check |
| List all Dataverse tables |
| Get table schema and columns |
| Query records with OData filters |
| Create new records |
| Update existing records |
Phase 2 (Planned)
delete_record- Delete recordscreate_table/update_table/delete_table- Table managementlist_knowledge_sources/retrieve_knowledge- Copilot Studio integrationlist_prompts/execute_prompt- Custom prompts
Usage Examples
Claude Desktop
Configure ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"dataverse": {
"url": "http://localhost:8000/mcp"
}
}
}Then in Claude:
You: "List all custom tables in my Dataverse environment"
Claude: [Calls list_tables with custom_only=True]
You: "Show me accounts with revenue over $1M"
Claude: [Calls read_query with filter]
You: "Create a new account called Fabrikam with $2M revenue"
Claude: [Calls create_record]cURL
# List tables
curl -X POST http://localhost:8000/mcp/call-tool \
-H "Content-Type: application/json" \
-d '{"name": "list_tables", "arguments": {"top": 10}}'
# Query accounts
curl -X POST http://localhost:8000/mcp/call-tool \
-H "Content-Type: application/json" \
-d '{
"name": "read_query",
"arguments": {
"table_name": "account",
"select": ["name", "revenue"],
"filter_query": "revenue gt 1000000",
"top": 10
}
}'Python
import requests
response = requests.post('http://localhost:8000/mcp/call-tool', json={
"name": "describe_table",
"arguments": {"table_name": "account"}
})
print(response.json())Project Structure
dataverse_mcp_server/
āāā server/
ā āāā app.py # FastAPI + MCP server
ā āāā dataverse_tools.py # MCP tool implementations
ā āāā dataverse/
ā ā āāā auth.py # OAuth authentication
ā ā āāā client.py # Dataverse Web API client
ā ā āāā __init__.py
ā āāā routers/ # FastAPI REST endpoints
ā āāā health.py # Health check
ā āāā mcp_info.py # MCP metadata
ā āāā user.py # User info
āāā client/ # React frontend (future)
āāā test_dataverse.py # Connection tests
āāā setup_dataverse.sh # Interactive setup
āāā watch.sh # Dev server with hot reload
āāā config.yaml # MCP server config
āāā env.example # Environment template
āāā DATAVERSE_QUICKSTART.md # Quick start guide
āāā DATAVERSE_SETUP.md # Detailed setup
āāā README_DATAVERSE.md # Full referenceArchitecture
Authentication: Service Principal (OAuth 2.0 client credentials flow)
API: Dataverse Web API v9.2
Protocol: Model Context Protocol (MCP)
Framework: FastAPI + FastMCP
MCP Clients (Claude, VS Code)
ā HTTP/MCP
Dataverse MCP Server (FastAPI)
ā HTTPS/OAuth
Microsoft DataverseTroubleshooting
Problem | Solution |
401 Authentication Error | Check client secret validity and API permissions |
403 Permission Denied | Assign security role to app user in Power Platform Admin Center |
Table Not Found | Use |
Connection Timeout | Verify |
See DATAVERSE_SETUP.md for detailed troubleshooting.
Development
# Run tests
python test_dataverse.py
# Start dev server
./watch.sh
# Check lints
ruff check server/
# Format code
ruff format server/Reference Links
License
See LICENSE.md
Security
Report vulnerabilities via SECURITY.md
Questions? See DATAVERSE_QUICKSTART.md or DATAVERSE_SETUP.md
Built with ā¤ļø for the Dataverse and MCP communities
This server cannot be deployed
Maintenance
Related MCP Connectors
Turn any task into the right API calls: discover, evaluate, and integrate public APIs.
AI service marketplace ā agents discover, call, and pay for API services automatically.
Discover and call 10,000+ production APIs from one MCP server. Pay-per-call billing for AI agents.
Verified registry of third-party-system knowledge ā the external-dependency layer for agent memory.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables AI assistants to manage API endpoints, environments, and testing workflows through the GASSAPI backend. Provides semantic documentation tools for endpoint cataloging and automated flow creation for backend-to-frontend development workflows.235 npm-
- AlicenseNot gradedqualityFmaintenanceDynamically converts any REST API into MCP tools by registering web API configurations at runtime. Supports multiple authentication methods and automatically generates MCP-compatible tools for AI assistants to interact with external web services.49MIT
- FlicenseNot gradedqualityNot gradedmaintenanceEnables AI agents to dynamically discover and interact with APIs through Swagger/OpenAPI specifications and Postman collections using a strategic four-tool approach. It streamlines API integration by providing universal tools for endpoint discovery, detailed request information, and authenticated execution.1-
- AlicenseBqualityDmaintenanceEnables natural language exploration of OpenAPI/Swagger specs, allowing users to register APIs, browse endpoints, describe schemas, and detect breaking changes through conversational queries.9243 npmMIT