Skip to main content
Glama

🪟 Microsoft Copilot MCP Server (ms-copilot-mcp)

Dedicated Model Context Protocol (MCP) server for Microsoft Copilot Desktop and Microsoft 365 Copilot Studio, connecting Microsoft Copilot directly into the JBP Tech Slack-Net fleet and GitHub organization.


🛠️ Provided Tools for Microsoft Copilot

  1. slack_net_say — Post structured receipts and messages to #ai-work (C0BSRE6QBU0).

  2. slack_net_read — Read recent fleet status reports and task updates.

  3. github_repos_status — Query active repositories and branches across jbptechLLC.

  4. pod_health_status — Check live health for InstaPods Pod 1 (rant-cast-ops) and Pod 2 (autocommerce-studio-ops).

  5. fleet_runtime_brief — Real-time live status brief across Gemini, Claude, Cursor, Grok, and Copilot.


Related MCP server: m365-copilot-mcp

🚀 Usage

1. Local Stdio Mode (Desktop Copilot / Cursor / VS Code)

{
  "mcpServers": {
    "ms-copilot-mcp": {
      "command": "npx",
      "args": ["-y", "jbptechllc/ms-copilot-mcp@latest", "--stdio"]
    }
  }
}

2. Streamable HTTP Server Mode (Port 8790)

node index.js --http 8790

Endpoint: http://127.0.0.1:8790/mcp or http://127.0.0.1:8790/healthz


🛡️ Seat Rules, Identity & Compliance Specification

  • Canonical Seat ID: MS_COPILOT

  • Bot User ID: U0BT9S5FB5G (mscopilot)

  • Bot ID: B0BSUG89X7Z

  • App ID: A0BT9S3QUM8

  • Team ID: T0BQEQPBQSV (JBP Tech)

  • Active Rail: #ai-work (C0BSRE6QBU0)

  • Worker Attribution: MS-COPILOT-MCP (Non-Null)

  • ai-brain-runner Compliance Status: FULLY_COMPLIANT (Registered in catalogs/saga2-executive-seats.catalog.json)

  • Lifecycle Specification: SLACKNET-ONBOARDING-RECOMPLIANCE v1.2.0 (4/4 Chatter Proof Gates Verified: WELCOME_TO_THE_NET, CLAIM, HEARTBEAT, FINISH_GATE: PASS)

  • Credentials: Tri-state reporting (OK / MISSING / UNKNOWN). Zero token leaks.


Maintained by JBP Tech LLC | Official Fleet Component

Available Tools

5 tools
fleet_runtime_briefA

Get a comprehensive live runtime brief of the JBP Tech multi-agent fleet (Gemini, Claude, Cursor, Grok, Microsoft Copilot).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry behavioral context. 'Get' clearly signals a read-only operation and 'live' indicates current runtime state, but it does not describe output format, data freshness guarantees, or other possible side effects. Minimal but not misleading.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence states the action and scope immediately, with the agent list in parentheses. Every word contributes; there is no filler or repetition of schema content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-argument read tool, the description is enough to select and invoke it, but because there is no output schema, the agent cannot know what 'comprehensive live runtime brief' will contain or how it is structured. This is a real gap, though not severe.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and 100% schema coverage, so there are no parameter semantics to clarify. The description's fleet and agent list helps scope the returned brief, earning the zero-parameter baseline of 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Get a comprehensive live runtime brief' of the JBP Tech multi-agent fleet, and names the five agents. This clearly distinguishes it from sibling tools like github_repos_status and pod_health_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'live runtime brief of the multi-agent fleet' implies it is for fleet-level status and health checks, but the description never explicitly says when to prefer it over siblings or when not to use it. No alternatives are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

github_repos_statusA

Query active repositories, branches, and recent commits across the jbptechLLC GitHub organization.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNoSpecific repository name (optional)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the behavioral burden. 'Query' implies read-only retrieval, and the listed resources indicate what data may be returned. Still, the meaning of 'active', output shape, pagination, and any access requirements are not disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one focused sentence with no filler or repetition. It front-loads the action and scope, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one optional parameter and no output schema, the description provides sufficient scope and resource coverage. It lacks only minor details like the exact meaning of 'active' and the precise return format, but these are not critical for invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema fully documents the single optional 'repo' parameter, so the description does not need to add much. It adds no extra nuance beyond the schema, matching the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb, 'Query', and identifies the exact resource categories: active repositories, branches, and recent commits within the jbptechLLC GitHub organization. This clearly differentiates it from sibling tools focused on fleet, Slack, and pod health.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit alternatives or when-not-to-use guidance is provided. However, the GitHub organization scope and unrelated sibling names imply the tool is for GitHub status queries, so the usage context is reasonably inferable but not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pod_health_statusA

Inspect live health metrics, uptime, and container status for InstaPods Pod 1 (rant-cast-ops) and Pod 2 (autocommerce-studio-ops).

ParametersJSON Schema
NameRequiredDescriptionDefault
podNoall

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The verb 'Inspect' conveys a read-only, non-destructive operation, and the description names the exact scope (Pod 1, Pod 2) and data types (metrics, uptime, container status). Though no annotations exist, this is sufficient behavioral context for a simple status tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One tightly written sentence that front-loads the action and resource while including the pod identifiers. Every part adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one optional parameter and no output schema, the description covers the object, scope, and data types. It doesn't document output format, which is acceptable given the absence of an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema's pod parameter is an enum with no description (0% coverage). The description adds real-world mapping by naming Pod 1 (rant-cast-ops) and Pod 2 (autocommerce-studio-ops), giving meaning to the enum values. 'All' remains implicit but self-explanatory.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Inspect') and resource ('live health metrics, uptime, and container status') for named pods, making its object concrete. However, it does not explicitly distinguish itself from the sibling fleet_runtime_brief, which could also cover runtime status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when pod health details are needed, but provides no explicit when-to-use guidance, exclusions, or pointers to sibling tools. With a sibling like fleet_runtime_brief, such differentiation would help.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

slack_net_readA

Read recent fleet messages, status reports, and receipts from Slack-Net.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of recent messages to return (default: 10)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. It signals a non-mutating read of recent data, which is helpful, but it does not mention ordering, pagination, auth requirements, or behavior when no messages exist. These gaps are acceptable for a simple read tool but not fully transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence with no filler, placing the action and scope first. It is immediately parseable and every word contributes to meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one optional parameter and no output schema, the description states the source and return topics but leaves the exact result shape, ordering, and how the limit applies unspecified. It is minimally adequate with room for more detail.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the single optional limit parameter is fully documented in the schema. The description adds no parameter-level explanation, so it earns the baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('Read'), a resource ('Slack-Net'), and specific content types (fleet messages, status reports, receipts). It is easy to distinguish from the write-oriented sibling slack_net_say by name and wording, though it does not explicitly contrast with siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies a read/receive use case, but it does not explicitly say when to prefer this tool over slack_net_say or other siblings, nor does it state exclusions or prerequisites. Usage context is inferred from 'read' rather than explained.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

slack_net_sayA

Post a structured fleet receipt or message into JBP Tech Slack-Net (#ai-work C0BSRE6QBU0).

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesMessage content or receipt details to post
eventNoEvent identifier, e.g. STATUS_UPDATE, REVIEW_COMPLETE
channelNoTarget channel (defaults to #ai-work)#ai-work

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral disclosure burden. It does clearly expose the side effect—posting to a specific Slack channel—and that is the core behavior. But it does not mention what happens to the message, response behavior, or any constraints around structured receipts.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The entire description is one tight, front-loaded sentence with no filler. It packs the action, target, and payload type into very few words, and every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple three-parameter post tool with all parameters documented in the schema, this description is mostly complete: it names the exact channel and the intended use. It falls just short of 5 because it does not explain the structure of a 'fleet receipt' nor give guidance on the `event` parameter.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description reinforces that `text` carries message/receipt content and names the default channel, but it does not clarify `event` semantics or what makes a message a 'structured fleet receipt' beyond what the schema already says.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Post'), a concrete destination ('JBP Tech Slack-Net (#ai-work C0BSRE6QBU0)'), and an intended payload type ('fleet receipt or message'). This clearly distinguishes it from siblings like slack_net_read, which is the read counterpart.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than explicit: the description suggests this tool is for posting receipts/messages into Slack-Net, and the sibling name slack_net_read implies the read/write split. However, it does not explicitly say when to choose this tool over alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 5 tool updatesv1.0.0
    • First observedfleet_runtime_brief
    • First observedgithub_repos_status
    • First observedpod_health_status
    • First observedslack_net_read
    • First observedslack_net_say

TDQS

A3.9/5.0
Disambiguation5/5

Each tool maps to a distinct resource and action: fleet runtime, Slack write/read, GitHub status, and pod health. There is no meaningful overlap between the status-style tools and the Slack communication tools.

Naming Consistency4/5

All names follow snake_case and use a domain prefix like slack_net, github_repos, or pod_health. The minor inconsistency is that some names use verbs (say, read) while others use nouns (brief, status), but the pattern remains predictable.

Tool Count5/5

Five tools is a well-scoped count for an ops/coordination server. Each tool serves a clear purpose without redundancy or bloat.

Completeness4/5

The set covers the core monitoring and communication workflows well: fleet status, pod health, repository state, and Slack messaging. It lacks deeper mutation or diagnostic capabilities, but these are not clearly required by the stated purpose.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Integrates with Microsoft 365 Copilot APIs to enable retrieval of content from SharePoint and OneDrive, document search across M365, and conversational AI interactions with your Microsoft 365 data while respecting access permissions.
    49
    19
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Integrates Microsoft 365 enterprise data into GitHub Copilot and Claude Desktop using Microsoft 365 Copilot APIs. It enables natural language queries across SharePoint, OneDrive, emails, calendars, and Teams meetings while maintaining full enterprise permission enforcement.
    5
    10
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to read messages, threads, channel info, user profiles, search conversations, and generate permalinks in Slack workspaces.
    1
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants like Cursor and Claude Desktop to interact with Slack workspaces, allowing message sending, channel reading, user management, and file operations through natural language.
    -

Latest Blog Posts

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/jbptechLLC/ms-copilot-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server