Agent365 MCP
Integrates with Stripe for payment processing, including a webhook listener for payment events, webhook signing for security, and test event triggering.
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., "@Agent365 MCPfetch Dataverse metadata and show me the cr_aimodels schema"
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.
Agent365 MCP - Dataverse Integration
AI Model Management System with Microsoft Dataverse and Stripe Integration for Intertech Numberology Thailand.
Overview
Agent365 MCP provides a Model Context Protocol (MCP) server that integrates with Microsoft Dataverse to manage AI models and handle payment processing through Stripe.
Related MCP server: MCP Dataverse Server
Features
✅ Dataverse Integration
Fetch and parse EDMX metadata for cr_aimodels
Extract properties, lookups, and entity schema
Automatic publisher prefix detection (fuzzy matching)
✅ Azure Authentication
MSAL token caching for efficient API calls
Secure client credentials flow
Automatic token refresh
✅ MCP Tools
health_check()- Server health statusget_ai_model(model_id)- Retrieve AI model configurationfetch_metadata()- Fetch Dataverse metadataparse_cr_aimodels()- Parse and schema extraction
✅ Stripe Integration
Webhook listener for payment events
Webhook signing for security
Test event triggering
Prerequisites
Python 3.8+
Node.js 14+ (for Stripe CLI)
Azure AD Application Registration
Dataverse environment
Stripe account
Installation
1. Clone the Repository
git clone https://github.com/intertechnumberlogythailand-oem/agent365-mcp.git
cd agent365-mcp2. Create Virtual Environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate3. Install Dependencies
pip install -r requirements.txt
npm install -g @stripe/cli@latest4. Configure Environment Variables
cp .env.example .envEdit .env and fill in:
AZURE_TENANT_ID- Your Azure AD tenant IDAZURE_CLIENT_ID- Your Azure AD client IDAZURE_CLIENT_SECRET- Your Azure AD client secretDATAVERSE_ENV- Your Dataverse environment URLSTRIPE_PUBLIC_KEY- Your Stripe public keySTRIPE_SECRET_KEY- Your Stripe secret keySTRIPE_WEBHOOK_SECRET- Your Stripe webhook signing secret
Usage
Fetch Dataverse Metadata
python dataverse_metadata_v2.pyThis will:
Authenticate with Azure AD
Fetch the EDMX metadata from Dataverse
Parse the cr_aimodels entity schema
Generate
cr_aimodels_schema.json
Output Example
╔══ cr_aimodels Schema ═══════════════════════════════════════╗
EntityType : cr_aimodels
EntitySet : cr_aimodelses ← use in API calls
Primary Key : cr_aimodelid
Base Type : crmbaseentity
╚═════════════════════════════════════════════════════════════╝
Properties (42):
logical_name type nullable
────────────────────────────────────────────────────────────────────────────────
cr_name Edm.String yes
cr_description Edm.String yes
cr_modeltype Edm.String yes
...Start Stripe Webhook Listener
stripe listenTest Stripe Events
stripe trigger charge.succeededProject Structure
agent365-mcp/
├── dataverse_metadata_v2.py # Main metadata extraction script
├── requirements.txt # Python dependencies
├── .env.example # Environment template
├── .gitignore # Git ignore rules
├── README.md # This file
└── cr_aimodels_schema.json # Generated schema (auto-created)API Endpoints
Dataverse API
GET /api/data/v9.2/$metadata?annotations=true
GET /api/data/v9.2/cr_aimodelses?$select=cr_name,cr_description,...
POST /api/data/v9.2/cr_aimodelses
PATCH /api/data/v9.2/cr_aimodelses(ID)
DELETE /api/data/v9.2/cr_aimodelses(ID)Stripe API
POST /webhook (Receive webhook events)Environment Variables
Variable | Description | Example |
| Azure AD tenant ID |
|
| Azure AD app ID |
|
| Azure AD secret |
|
| Dataverse URL |
|
| MCP server name |
|
| MCP server port |
|
| Stripe public key |
|
| Stripe secret key |
|
| Stripe webhook secret |
|
Troubleshooting
Token Error: "Unauthorized_client"
Verify Azure AD credentials in
.envCheck that the app has Dataverse API permissions
Error: "cr_aimodels not found"
Check if the table exists in your Dataverse environment
The table might have a different publisher prefix (e.g.,
cr8a2_aimodels)Run with debug mode to see all custom entities
Stripe Webhook Not Receiving Events
Ensure
stripe listenis runningCheck webhook endpoint URL is accessible
Verify
STRIPE_WEBHOOK_SECRETis correct
Contributing
Create a feature branch (
git checkout -b feature/AmazingFeature)Commit your changes (
git commit -m 'Add some AmazingFeature')Push to the branch (
git push origin feature/AmazingFeature)Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
For issues and questions:
🐛 GitHub Issues: Report an issue
Related Projects
FastMCP - Model Context Protocol implementation
MSAL Python - Azure authentication
Stripe Python - Stripe SDK
Made with ❤️ by Intertech Numberology Thailand
This server cannot be deployed
Maintenance
Related MCP Connectors
Let AI agents query data and act across all your business apps via MCP.
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
Unified MCP Server is a remote MCP connector for AI agents and vertical AI products that provides access to 22,000+ authorized SaaS tools across 400+ integrations and 24 categories directly inside LLMs (Claude, GPT, Gemini, Cohere). Tools operate only on explicitly authorized customer connections, enabling agents to safely read and write against live third-party systems.
Connect MCP clients to 2,000+ AI models without managing provider API keys.
Related MCP Servers
- AlicenseBqualityCmaintenanceA Model Context Protocol (MCP) server that provides intelligent access to PowerPlatform/Dataverse entities and records. This tool offers context-aware assistance, entity exploration and metadata access.38111 npm43MIT
- FlicenseNot gradedqualityCmaintenanceEnables CRUD operations and schema exploration on Microsoft Dataverse databases using service principal authentication. It allows users to query records with OData filters, manage table entries, and retrieve metadata through a standardized MCP interface.-
- AlicenseAqualityAmaintenanceEnables AI agents to query, inspect, and manage Microsoft Dataverse records, metadata, schema, forms, views, and Power Platform environments via the Dataverse OData Web API.972MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to read and modify Mendix application models through MCP tools for creating modules, entities, pages, microflows, deploying, and querying runtime data.1-