MCP-Copilot-Automations
Click on "Install 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., "@MCP-Copilot-Automationscreate a shared mailbox for marketing team"
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.
MCP-Copilot-Automations
Overview
MCP-Copilot-Automations is a Model Context Protocol (MCP) server built with FastMCP. It is designed to act as a bridge between Large Language Models (LLMs) and enterprise IT operations. The server provides tools to dynamically resolve user intents by querying Microsoft Dataverse, generate corresponding ServiceNow service requests, and trigger Azure Automation Webhooks to fulfill the requested actions.
This architecture enables an Agentic AI workflow where an LLM can discover the parameters required for a service request, prompt the user for missing details, create an audit trail in ServiceNow, and execute the backend automation seamlessly.
Related MCP server: ServiceNow MCP Server
Key Components
FastMCP Server (
copilotautomations.py): Hosts the MCP tools and handles HTTP transport for LLM integrations. It uses MSAL to authenticate with Azure Entra ID and fetch tool definitions from a specified Dataverse table.ServiceNow Client (
ticketcreation.py): An asynchronous client that leverageshttpxto createsc_requestrecords in a ServiceNow instance, ensuring all automated actions are logged as standard service requests.
Prerequisites
To run this server, you need the following:
Python 3.12+
Azure App Registration: An Azure Entra ID application with permissions to access your Microsoft Dynamics 365 / Dataverse environment.
Microsoft Dataverse: A custom table containing intent mapping, tool definitions (Step_Json), and Webhook URLs.
ServiceNow Instance: Active developer or enterprise ServiceNow instance with API access.
Environment Variables
Create a .env file in the root directory and configure the following required variables:
# Microsoft Dataverse & Azure AD
DYNAMICS_INSTANCE=org********.crm8.dynamics.com
DATAVERSE_TABLE_NAME=cr9a7_servicerequestintentdetailses
AZURE_TENANT_ID=your-azure-tenant-id
AZURE_CLIENT_ID=your-azure-client-id
AZURE_CLIENT_SECRET=your-azure-client-secret
# ServiceNow
SERVICENOW_INSTANCE=https://dev******.service-now.com
SERVICENOW_USER=admin
SERVICENOW_PASS=your-servicenow-password
# Optional Configuration
PORT=8000 # Default port for the MCP serverInstallation
Clone the repository or download the source code.
Install the required Python dependencies:
pip install -r requirements.txt(Dependencies: fastmcp, httpx, msal, python-dotenv, requests)
Available MCP Tools
1. Resolve_Service_Request_Intent
Description: Queries the Dataverse table based on a natural language user intent (e.g., "Create Shared Mailbox"). It fetches the required field definitions (
Step_Json) and the target Azure Automation Webhook URL.Input:
intent(string)Output: JSON object containing the
tool_definition,webhook_url, and an emptyparamsbodytemplate for the LLM to populate by asking the user.
2. Invoke_Webhook
Description: Executed by the LLM after gathering all necessary parameters from the user. It creates a new Service Request (
sc_request) in ServiceNow, logs the user details, and then invokes the target Azure Automation webhook.Input:
url: The Azure webhook URL.jsonbody: The populated parameters payload.user: User's email ID.userintent: The natural language intent.
Output: The generated ServiceNow request number and the HTTP response from the Azure Automation webhook.
Running the Server
Start the FastMCP server by running the main Python script:
python copilotautomations.pyBy default, the server runs on 0.0.0.0 over HTTP at port 8000 (or the port specified by the $PORT environment variable). The MCP endpoint is explicitly bound to /mcp.
Deployment Notes
Azure App Service: The code binds to
0.0.0.0and respects the$PORTenvironment variable, making it ready for deployment on Azure App Service or containerized environments.SSL Verification: The current implementation disables strict environment SSL checks (
trust_env=Falseinhttpxand pops SSL bundles from OS env) to bypass certain enterprise proxy restrictions. Adjust this for production environments requiring strict certificate validation.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/neerajks77/capstone-project-copilot-automations'
If you have feedback or need assistance with the MCP directory API, please join our Discord server