Copilot  

GitHub Copilot JetBrains Governance: Securing MCP Servers and Plugins Enterprise-Wide

Introduction

AI coding assistants are becoming part of everyday development workflows, but introducing them into an enterprise environment creates a different set of questions.

A developer working locally may be able to install a plugin, connect an MCP server, or change an AI permission setting in a few minutes. An organization with hundreds or thousands of developers cannot manage those choices manually.

The challenge is not simply enabling GitHub Copilot.

It is controlling how Copilot is configured, which extensions and plugins developers can use, which MCP servers are available, what permissions agents receive, and what telemetry the organization can collect.

GitHub has introduced enterprise-managed settings for Copilot in JetBrains IDEs, providing administrators with more control over areas such as plugin governance, MCP access, permission modes, and OpenTelemetry configuration.

For development teams, this changes the conversation from "Can developers use Copilot?" to "How should AI-assisted development be governed safely at scale?"

This article presents a practical governance model for enterprise JetBrains environments and explains how to test whether those controls actually work.

Why AI Governance Matters in JetBrains IDEs

JetBrains IDEs are deeply integrated into development workflows.

A developer can install plugins, connect tools, configure external services, and use AI features from the same environment.

That flexibility is useful for individual developers.

For an enterprise, however, every additional integration can create another security and governance boundary.

A simplified environment looks like this:

Developer
    |
    v
JetBrains IDE
    |
    +--> GitHub Copilot
    |
    +--> Plugins
    |
    +--> MCP Servers
    |
    +--> External Tools
    |
    +--> Repository Data

Each connection can potentially influence what information an AI agent can access or what actions it can perform.

Governance therefore needs to cover more than the Copilot subscription itself.

What Is MCP?

Model Context Protocol, commonly called MCP, provides a standardized way for AI systems to interact with external tools and data sources.

Conceptually:

Copilot / AI Agent
       |
       v
MCP Server
       |
       +--> Database
       +--> Files
       +--> APIs
       +--> Development Tools

An MCP server can expose tools or resources that an AI agent can use.

That makes MCP powerful, but it also introduces a security question:

Which MCP servers should an enterprise allow?

An unrestricted configuration can make governance difficult because developers may connect AI agents to systems containing sensitive source code, credentials, customer information, or internal services.

Enterprise Governance Model

A practical governance model can divide controls into four areas:

Identity
   |
   +--> Who can use Copilot?

Tools
   |
   +--> Which plugins and MCP servers are allowed?

Permissions
   |
   +--> What can agents do?

Observability
   |
   +--> What activity can administrators monitor?

This separation makes policy easier to understand.

Plugin Governance

JetBrains plugins can extend the IDE with additional capabilities.

That can be useful, but plugins also introduce third-party code into the developer environment.

An enterprise policy should define:

  • Which plugins are approved.

  • Which plugins require review.

  • Who can install plugins.

  • How plugins are updated.

  • How vulnerable plugins are removed.

  • Whether unmanaged plugins are permitted.

A simple policy might categorize plugins as:

CategoryExample Policy
ApprovedAutomatically permitted
ReviewedSecurity review required
RestrictedRequires administrator approval
BlockedInstallation prohibited

This is more practical than treating every plugin identically.

MCP Server Allowlisting

MCP governance deserves particular attention because an MCP server can expose tools and data to an AI agent.

A strong enterprise model should prefer explicit allowlisting.

Conceptually:

MCP Request
    |
    v
Is server approved?
    |
   / \
  Yes  No
  |     |
  v     v
Allow   Block

For example, an organization may approve:

company-docs-mcp
internal-ticketing-mcp
approved-database-mcp

while blocking unknown servers.

The exact configuration mechanism depends on GitHub Copilot's enterprise-management capabilities and the JetBrains deployment environment.

Administrators should use the current GitHub documentation when implementing the policy because product controls and available settings can change.

Why Allowlists Are Better Than Blocklists

A blocklist says:

These servers are not allowed.

An allowlist says:

Only these servers are allowed.

For enterprise AI tooling, the second model is generally easier to reason about when the goal is controlled access.

A blocklist has a fundamental weakness:

Known Server A -> Blocked
Known Server B -> Blocked
Unknown Server C -> Allowed

An allowlist reverses the default:

Approved Server A -> Allowed
Approved Server B -> Allowed
Unknown Server C -> Blocked

This does not remove the need for security reviews, but it reduces the number of unknown integrations that can enter the environment.

Agent Permission Modes

AI agents can perform actions rather than simply generating text.

Depending on the environment and configuration, an agent may:

  • Read files

  • Modify source code

  • Run commands

  • Use tools

  • Access external services

Those capabilities should be governed according to risk.

A useful policy model is:

Permission LevelTypical Use
Read-onlyCode exploration
User approvalDevelopment changes
Controlled automationTrusted workflows
Broad automationRestricted to carefully governed environments

The goal is to avoid giving an AI agent more authority than the task requires.

Principle of Least Privilege

The principle of least privilege applies to AI agents just as it does to traditional software.

If an agent only needs to inspect a repository, it does not need permission to modify deployment infrastructure.

If it needs to update source code, it may not need access to production credentials.

A simple model is:

Task
  |
  v
Required capability
  |
  v
Minimum permission

This makes security decisions easier to audit.

Testing Enterprise Controls

A governance policy is only useful if it actually works.

Administrators should test controls from a developer account.

For example:

Test 1: Approved Plugin

Verify that an approved plugin can be installed and used.

Test 2: Restricted Plugin

Attempt to install a restricted plugin.

Expected result:

Installation blocked

Test 3: Approved MCP Server

Connect an approved MCP server.

Expected result:

Connection permitted

Test 4: Unapproved MCP Server

Attempt to connect an unapproved server.

Expected result:

Connection blocked

Test 5: Permission Restriction

Attempt an operation outside the configured agent permission level.

Expected behavior should match the enterprise policy.

These tests should be repeated after policy changes.

Building a Governance Test Matrix

A test matrix makes policy verification easier.

ControlTestExpected ResultActual Result
Plugin allowlistInstall approved pluginAllowedRecord
Plugin restrictionInstall restricted pluginBlockedRecord
MCP allowlistConnect approved serverAllowedRecord
MCP restrictionConnect unknown serverBlockedRecord
Agent permissionsPerform restricted actionBlocked/approvalRecord
TelemetryGenerate test activityRecordedRecord

This turns governance from documentation into something that can be verified.

OpenTelemetry and Observability

Enterprise administrators also need visibility into AI tooling.

OpenTelemetry can provide standardized telemetry mechanisms for collecting traces and related observability data.

The exact events and telemetry supported by GitHub Copilot and JetBrains integrations should be verified against the current product documentation.

A useful enterprise observability model is:

Developer Activity
       |
       v
Copilot / IDE
       |
       v
Telemetry
       |
       v
Central Observability Platform

The purpose is not to collect everything simply because it is technically possible.

Telemetry should have a defined purpose.

For example:

  • Detect policy violations.

  • Investigate unexpected tool usage.

  • Monitor adoption.

  • Troubleshoot integration failures.

  • Support security investigations.

Protecting Telemetry Data

Telemetry can itself contain sensitive information.

An enterprise should establish:

  • What data is collected.

  • Where it is stored.

  • Who can access it.

  • How long it is retained.

  • Whether source-code information is included.

  • How access is audited.

Observability should not become another uncontrolled data repository.

Common Mistakes

Allowing Every MCP Server

Unrestricted MCP access can create an unnecessarily large attack surface.

Use explicit approval policies.

Giving Agents Broad Permissions

An AI agent should not automatically receive administrative privileges simply because it is convenient.

Use least privilege.

Treating Plugins as Harmless

Plugins are software running inside the development environment.

They should be governed like other third-party development components.

Writing Policies Without Testing Them

A policy document does not prove enforcement.

Use test accounts and automated checks where possible.

Ignoring Developer Experience

Overly restrictive controls can encourage developers to find workarounds.

Security policies should be understandable and provide approved paths for common development needs.

Troubleshooting

If an enterprise policy does not behave as expected, check:

  1. The developer account's organization membership.

  2. The applied Copilot policy.

  3. JetBrains IDE version.

  4. Copilot plugin version.

  5. Enterprise or organization settings.

  6. MCP configuration.

  7. Plugin-management policies.

  8. Permission settings.

  9. Policy propagation time.

  10. Local configuration overriding expected settings.

Always test with a clean developer environment when diagnosing configuration issues.

A stale local configuration can make a correct enterprise policy appear ineffective.

Production Rollout Strategy

Do not introduce broad AI governance policies to every developer simultaneously without testing.

A safer rollout can be:

Pilot Group
    |
    v
Security Validation
    |
    v
Developer Feedback
    |
    v
Policy Refinement
    |
    v
Broader Rollout

The pilot group should include developers working on different types of projects.

That helps reveal whether a policy works across different workflows.

Best Practices

Use Explicit Allowlisting

Approve known plugins and MCP servers rather than allowing arbitrary integrations.

Apply Least Privilege

Give AI agents only the permissions required for their tasks.

Maintain an Approved Tool Catalog

Developers should know which plugins and MCP servers are supported.

Test Policies Before Rollout

Use controlled developer accounts to verify that policies behave as expected.

Monitor Policy Changes

Record who changed important governance settings and why.

Review Regularly

Approved integrations should not remain approved forever without review.

Reassess them when the tool, vendor, security requirements, or organizational architecture changes.

Advantages

  • Centralizes AI governance across enterprise development environments.

  • Reduces uncontrolled plugin and MCP-server usage.

  • Supports more consistent permission management.

  • Makes security policies easier to test and audit.

  • Provides a framework for enterprise observability.

  • Helps organizations adopt AI tooling without treating every developer environment as completely independent.

Disadvantages

  • Governance introduces administrative overhead.

  • Overly restrictive policies can slow development.

  • Plugin and MCP ecosystems change quickly.

  • Administrators need to understand both IDE and AI-agent security.

  • Telemetry creates additional privacy and data-governance considerations.

  • Policies need ongoing maintenance rather than one-time configuration.

Conclusion

Enterprise AI governance is becoming an important part of modern development infrastructure.

GitHub Copilot inside JetBrains IDEs can provide significant developer capabilities, but those capabilities need appropriate controls when used across an organization. Plugins, MCP servers, agent permissions, and telemetry all represent separate governance surfaces.

A practical enterprise strategy should start with allowlisting approved tools, applying least-privilege permissions, and defining clear policies for MCP access. Just as importantly, administrators should test those policies from real developer environments instead of assuming that a configuration document guarantees enforcement.

The strongest governance model is one that balances security with a usable developer workflow. Developers should have clear, approved ways to use useful AI tools, while unknown plugins, MCP servers, and overly broad agent permissions remain controlled.

As AI-assisted development becomes more deeply integrated into IDEs, treating AI configuration as part of the organization's existing security and platform-governance model will become increasingly important.