Install Microsoft 365 Admin in Goose

What you need first

  • Goose, installed.
  • Node.js, which gives the npx command the server starts with.
  • Your own values for YOUR_MS365_ADMIN_MCP_TENANT_ID,YOUR_MS365_ADMIN_MCP_CLIENT_ID,YOUR_MS365_ADMIN_MCP_CLIENT_SECRET.

Steps

  1. Open ~/.config/goose/config.yaml. On Windows it is %APPDATA%\Block\goose\config\config.yaml.
  2. Add this entry. If the file already has extensions, add only the entry inside it.
extensions:
  "ms-365-admin":
    type: stdio
    name: "ms-365-admin"
    enabled: true
    cmd: "npx"
    args: ["-y", "@okapi-ca/[email protected]"]
    env_keys: []
    envs: { "MS365_ADMIN_MCP_TENANT_ID": "YOUR_MS365_ADMIN_MCP_TENANT_ID", "MS365_ADMIN_MCP_CLIENT_ID": "YOUR_MS365_ADMIN_MCP_CLIENT_ID", "MS365_ADMIN_MCP_CLIENT_SECRET": "YOUR_MS365_ADMIN_MCP_CLIENT_SECRET" }
    timeout: 300
  1. Replace YOUR_MS365_ADMIN_MCP_TENANT_ID,YOUR_MS365_ADMIN_MCP_CLIENT_ID,YOUR_MS365_ADMIN_MCP_CLIENT_SECRET with your own values.
  2. Save the file and start a new Goose session.

Check it worked

Ask Goose: List the tools of ms-365-admin.

If it does not start

spawn npx ENOENT
Node.js is not on the PATH that Goose sees. Install it, or write the full path of npx in the config.
The server starts, but its tools fail
A YOUR_… placeholder is still in the config, or its value is wrong.
Nothing changes after a restart
The file is not valid YAML any more. Check that the entry is indented like the lines around it.

Back to Microsoft 365 Admin