Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Agent 365 CLI
Manage MCP servers in Dataverse environments. The develop-mcp command provides options to publish, unpublish, approve, block, package, and register MCP servers for use in Dataverse environments.
Minimum role required: Varies by subcommand
Syntax
a365 develop-mcp [command] [options]
Options
| Option | Description |
|---|---|
-v, --verbose |
Enable verbose logging |
-?, -h, --help |
Show help and usage information |
develop-mcp list-environments
List all Dataverse environments available for MCP server management.
a365 develop-mcp list-environments [options]
This command displays all Dataverse environments where you can manage MCP servers.
list-environments options
| Option | Description |
|---|---|
-c, --config <config> |
Configuration file path (default: a365.config.json) |
--dry-run |
Show what would be done without executing |
-v, --verbose |
Enable verbose logging |
-?, -h, --help |
Show help and usage information |
develop-mcp list-servers
List MCP servers in a specific Dataverse environment.
a365 develop-mcp list-servers [options]
This command shows all MCP servers that are currently deployed in the specified Dataverse environment.
list-servers options
| Option | Description |
|---|---|
-e, --environment-id <environment-id> |
Dataverse environment ID |
-c, --config <config> |
Configuration file path (default: a365.config.json) |
--dry-run |
Show what would be done without executing |
-v, --verbose |
Enable verbose logging |
-?, -h, --help |
Show help and usage information |
develop-mcp publish
Publish an MCP server to a Dataverse environment.
a365 develop-mcp publish [options]
Use this command to publish an MCP server to the specified Dataverse environment.
publish options
| Option | Description |
|---|---|
-e, --environment-id <environment-id> |
Dataverse environment ID |
-s, --server-name <server-name> |
MCP server name to publish |
-a, --alias <alias> |
Alias for the MCP server |
-d, --display-name <display-name> |
Display name for the MCP server |
-c, --config <config> |
Configuration file path (default: a365.config.json) |
--dry-run |
Show what would be done without executing |
-?, -h, --help |
Show help and usage information |
develop-mcp unpublish
Unpublish an MCP server from a Dataverse environment.
a365 develop-mcp unpublish [options]
Use this command to remove an MCP server from the specified Dataverse environment.
unpublish options
| Option | Description |
|---|---|
-e, --environment-id <environment-id> |
Dataverse environment ID |
-s, --server-name <server-name> |
MCP server name to unpublish |
-c, --config <config> |
Configuration file path (default: a365.config.json) |
--dry-run |
Show what would be done without executing |
-?, -h, --help |
Show help and usage information |
develop-mcp approve
Approve an MCP server.
a365 develop-mcp approve [options]
This command approves an MCP server for use in the environment.
approve options
| Option | Description |
|---|---|
-s, --server-name <server-name> |
MCP server name to approve |
-c, --config <config> |
Configuration file path (default: a365.config.json) |
--dry-run |
Show what would be done without executing |
-?, -h, --help |
Show help and usage information |
develop-mcp block
Block an MCP server.
a365 develop-mcp block [options]
Use this command to block an MCP server from being used in your environment.
block options
| Option | Description |
|---|---|
-s, --server-name <server-name> |
MCP server name to block |
-c, --config <config> |
Configuration file path (default: a365.config.json) |
--dry-run |
Show what would be done without executing |
-?, -h, --help |
Show help and usage information |
develop-mcp package-mcp-server
Generate MCP server package for submission on Microsoft admin center.
a365 develop-mcp package-mcp-server [options]
Use this command to create a deployment package for an MCP server that you can submit to the Microsoft admin center.
package-mcp-server options
| Option | Description |
|---|---|
--server-name <server-name> |
MCP server name (REQUIRED) |
--developer-name <developer-name> |
Publisher or developer display name (REQUIRED) |
--icon-url <icon-url> |
Public URL to a PNG icon for the MCP server (REQUIRED) |
--output-path <output-path> |
Target directory for the generated ZIP package (REQUIRED) |
--dry-run |
Show what would be done without executing |
-c, --config <config> |
Configuration file path (default: a365.config.json) |
-?, -h, --help |
Show help and usage information |
develop-mcp register-external-mcp-server
Register an external MCP server with Entra, external OAuth, API key, or no authentication.
a365 develop-mcp register-external-mcp-server [options]
Use this command to register an externally hosted (third-party) MCP server with your tenant. The command creates the Microsoft Entra app registrations the platform needs, calls the Agent 365 platform to add the MCP server, and configures redirect URIs and API permissions on the new app registrations.
The server name must start with the ext_ prefix and be at most 20 characters long, for example ext_MyServer. Tool names must exactly match the names exposed by the remote MCP server. Mismatched names cause tool invocations to fail at runtime.
You can supply parameters in three ways:
- Pass them as command-line options.
- Provide a JSON file with
--input-file. Command-line options override values from the file. Seeregister-external-mcp-server-sample.jsonin the CLI templates for the file structure. - Omit any required value to be prompted interactively.
After the registration succeeds, ask your tenant administrator to approve the new MCP server before agents can use it. If you registered with ExternalOAuth, also add the displayed redirect URI to your external IDP application.
Important
If the registration fails after the Microsoft Entra app registrations are created, the apps aren't automatically rolled back. Delete them manually in the Azure portal before retrying.
register-external-mcp-server options
Some options are required only for specific authentication types, as described in the description column.
| Option | Description |
|---|---|
-s, --server-name <server-name> |
MCP server name. Must start with ext_ and be at most 20 characters, for example ext_MyServer |
-u, --server-url <server-url> |
Remote MCP server URL. Must be a valid HTTP or HTTPS URL |
-a, --auth-type <auth-type> |
Authentication type: EntraOAuth, ExternalOAuth, APIKey, or NoAuth |
--publisher <publisher> |
Publisher name (used in package metadata) |
--description <description> |
Server description (used in package metadata) |
--tools <tools> |
Comma-separated list of tool names exposed by this server, for example tool1,tool2,tool3 |
-f, --input-file <input-file> |
Path to a JSON file with the registration parameters |
--remote-scopes <remote-scopes> |
Scopes for the remote MCP server, for example api://{appId-guid}/{scopeName}. Used with EntraOAuth |
-t, --tenant-id <tenant-id> |
Entra tenant ID for the app registration. Defaults to the current az login tenant |
--service-tree-id <service-tree-id> |
ServiceTree ID for the Entra app registration. Required in Microsoft corporate tenants |
--idp-authorization-url <url> |
External OAuth authorization URL. Required when --auth-type is ExternalOAuth |
--idp-token-url <url> |
External OAuth token URL. Required when --auth-type is ExternalOAuth |
--idp-scopes <scopes> |
External OAuth scopes. Required when --auth-type is ExternalOAuth |
--idp-client-id <client-id> |
External OAuth client ID. Required when --auth-type is ExternalOAuth |
--idp-client-secret <client-secret> |
External OAuth client secret. Required when --auth-type is ExternalOAuth |
--api-key-location <location> |
API key location: Header or Query. Required when --auth-type is APIKey |
--api-key-name <name> |
API key parameter or header name, for example X-API-Key or token. Required when --auth-type is APIKey |
--dry-run |
Show what would be done without executing |
-v, --verbose |
Enable verbose logging |
-?, -h, --help |
Show help and usage information |