Usar o servidor MCP para criar aplicativos com um agente de codificação

Aplica-se a: Desenvolvedor

O servidor MCP incorporado do SharePoint é um servidor de protocolo de contexto de modelo de software livre que permite que clientes de IA compatíveis com MCP configurem e gerenciem aplicativos incorporados do SharePoint por meio de linguagem natural. Os clientes com suporte incluem o GitHub Copilot no Visual Studio Code ou CLI, o Claude Desktop, o Cursor e o Fábrica de IA do Azure. Ele é distribuído como o @microsoft/spe-mcp pacote npm e é executado localmente em seu computador como uma ferramenta de desenvolvedor.

Em vez de clicar em portais e unir manualmente os comandos do Microsoft Graph e da CLI do Azure, você descreve o que deseja, "criar um tipo de contêiner de avaliação para meu aplicativo", e o cliente de IA chama as ferramentas do servidor para fazer isso.

Observação

O servidor MCP do SharePoint Embedded é uma ferramenta de desenvolvedor de software livre lançada em versão prévia. Seu código-fonte, referência completa de ferramenta e rastreador de problemas residem no repositório microsoft/SharePoint-Embedded-MCP-Server no GitHub.

Importante

Para começar a criar com o SharePoint Embedded, você precisará de acesso administrativo a um locatário do Microsoft 365.

Se ainda não tiver um locatário, você poderá obter o seu próprio com o Microsoft 365 Developer Program, o Microsoft Customer Digital Experience ou uma avaliação gratuita de uma licença do Microsoft 365 E3.

Ferramentas disponíveis

O servidor expõe ferramentas que um cliente de IA pode chamar em seu nome.

Categoria O que as ferramentas fazem Ferramentas representativas
Provisionamento e status Verifique sua identidade conectada e prontidão de provisionamento. Crie e gerencie aplicativos proprietários, tipos de contêiner, registros de tipo de contêiner e contêineres. status_get, project_app_create, project_provision, container_type_create, container_type_register, container_create
Cobrança Selecione uma assinatura e um grupo de recursos do Azure, conecte um tipo de contêiner à cobrança padrão e inspecione a classificação de cobrança ou a expiração da avaliação. azure_subscriptions_list, azure_resource_groups_list, billing_setup, billing_check
Fazer scaffold, executar e implantar Gere um aplicativo de referência, grave sua configuração, propague conteúdo de exemplo, execute-o localmente e implante-o no Azure. project_scaffold, project_hydrate_config, project_seed_sample_data, project_run_local, project_deploy
Operações de conteúdo (aceitação) Após o consentimento explícito, propague o conteúdo de amostra, carregue arquivos, crie pastas, pesquise, visualize e gerencie o compartilhamento. content_access_grant, project_seed_sample_data, content_file_upload, content_search, content_sharing_manage
Permissões de contêiner e ciclo de vida Gerencie permissões de contêiner e arquive, restaure ou exclua contêineres. container_permissions_manage, container_archive_restore, container_delete
Documentação Pesquise e busque a documentação oficial do SharePoint Embedded e do Microsoft Graph por meio do servidor MCP do Microsoft Learn. docs_search, docs_fetch

Para obter a lista completa e versionada de ferramentas, sinalizadores CLI e variáveis de ambiente, consulte o LEIAME do servidor.

Pré-requisitos

  • Node.js versão 22 ou posterior.
  • CLI do Azure, conectado com az login --allow-no-subscriptions. O --allow-no-subscriptions sinalizador é necessário para locatários somente do Microsoft 365 que não têm assinatura do Azure.
  • Um locatário do Microsoft 365 e acesso de administrador de locatário (Administrador Global ou Administrador de Aplicativos).
  • Um cliente compatível com MCP, como o Visual Studio Code com GitHub Copilot, Claude Desktop ou Cursor.

Instalar e configurar

Os clientes MCP iniciam o servidor com npx, portanto, não há uma instalação global separada. Adicione uma entrada de servidor à configuração de MCP do cliente.

Visual Studio Code

Adicione uma entrada de servidor MCP ao .vscode/mcp.json seu workspace:

{
  "servers": {
    "spe": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@microsoft/spe-mcp", "start"]
    }
  }
}

O -y sinalizador permite que o Visual Studio Code inicie o servidor de forma não interativa. Depois que o servidor for registrado, use o Copilot Chat no modo de agente para chamar suas ferramentas.

Claude Desktop

Adicione o servidor a %APPDATA%\Claude\claude_desktop_config.json (Windows) ou ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

{
  "mcpServers": {
    "spe": {
      "command": "npx",
      "args": ["-y", "@microsoft/spe-mcp", "start"]
    }
  }
}

Cursor e outros clientes MCP

Qualquer cliente que ofereça suporte a servidores MCP no transporte stdio pode executar o servidor com o mesmo npx -y @microsoft/spe-mcp start comando. Consulte a documentação do cliente para saber onde registrar servidores MCP.

Configuração

O servidor aceita a configuração operacional por meio de sinalizadores CLI ou variáveis de ambiente equivalentes. Quando você define ambos para a mesma opção, o sinalizador da CLI vence.

Sinalizador CLI Variável de ambiente Descrição
--client-id SPE_CLIENT_ID ID do aplicativo (cliente) do Microsoft Entra ID do aplicativo proprietário. Omita-o para usar o modo de inicialização.
--tenant-id SPE_TENANT_ID ID do locatário do Microsoft Entra ID. O servidor a descobre na CLI do Azure quando você a omite.
--read-only SPE_READ_ONLY Anuncie e permita somente ferramentas de leitura, lista, obtenção e pesquisa. Rejeite chamadas mutantes.
--tools SPE_TOOLS Restrinja as ferramentas a um perfil (readOnly, docsOnly, provisioningcontent, ou admin) ou a uma lista separada por vírgulas de nomes de ferramentas.
--data-dir SPE_DATA_DIR Caminho para o cache de token e o estado de provisionamento. Use um caminho absoluto ou ~/ caminho exclusivo para cada instância de servidor. O compartilhamento desse diretório pode substituir a autenticação em cache e o estado de provisionamento. Não use um caminho relativo ao diretório atual. O padrão é ~/.spe-mcp.

Defina sinalizadores na args matriz ou variáveis no env objeto da configuração MCP do seu cliente. Execute npx -y @microsoft/spe-mcp start --help ou consulte a referência de configuração do servidor para obter a lista completa de opções com versão.

Escolha como o servidor se autentica

O servidor suporta dois modos de execução.

  • Modo de inicialização (recomendado para começar): nenhum registro de aplicativo é necessário. O servidor usa sua sessão da CLI do Azure para o painel de controle e provisiona o aplicativo proprietário do Microsoft Entra ID sob demanda. Entre uma vez e inicie o servidor sem nenhuma ID de cliente:

    az login --allow-no-subscriptions
    
  • Modo de aplicativo pré-provisionado: Transmita FileStorageContainerTypeReg.Manage.Allum aplicativo de cliente público existente do Microsoft Entra ID que já tenha permissões delegadas consentidas pelo administrador para FileStorageContainer.Selected, FileStorageContainerType.Manage.Alle . Forneça a ID do aplicativo e a ID do locatário por meio das SPE_CLIENT_ID variáveis de ambiente and SPE_TENANT_ID (ou dos --client-id sinalizadores and --tenant-id ):

    {
      "servers": {
        "spe": {
          "type": "stdio",
          "command": "npx",
          "args": ["-y", "@microsoft/spe-mcp", "start"],
          "env": {
            "SPE_CLIENT_ID": "your-client-id",
            "SPE_TENANT_ID": "your-tenant-id"
          }
        }
      }
    }
    

Importante

Configure URIs de redirecionamento no registro de aplicativo aplicável:

  • Registro do aplicativo proprietário para o servidor MCP: em Aplicativos móveis e da área de trabalho, adicione http://localhost para entrada interativa.
  • Registro de aplicativo proprietário para o aplicativo de página única (SPA) do React: em Aplicativo de página única, adicione a URL do aplicativo local mostrada por project_run_local e a URL implantada retornada por project_deploy. No modo de aplicativo pré-provisionado, adicione esses URIs de redirecionamento manualmente se o servidor não puder atualizar o registro do aplicativo.
  • Registro de aplicativo Web C# separado: o scaffold C# provisiona esse registro com um URI de redirecionamento da Web. Não adicione o URI de redirecionamento do aplicativo C# ao registro do aplicativo proprietário.

Gerenciar URIs de redirecionamento em Registros de aplicativoAutenticação> no centro de administração do Microsoft Entra.

No modo de inicialização, a primeira chamada do SharePoint Embedded abre um navegador para um consentimento único e armazena o token em cache, portanto, nenhuma etapa terminal separada é necessária. Para obter a hierarquia de autenticação completa, detalhes de armazenamento de token e diretrizes sem periféricos/automação, consulte o LEIAME do servidor.

Experimente

Com o servidor registrado em seu cliente e uma entrada da CLI do Azure concluída, peça ao seu cliente de IA para trabalhar com o SharePoint Embedded. Por exemplo, no Copilot Chat:

  • "Listar meus tipos de contêiner do SharePoint Embedded."
  • "Crie um tipo de contêiner de avaliação chamado Contoso Docs para a ID do aplicativo abc-123."
  • "Provisione um novo aplicativo do SharePoint Embedded e crie um scaffold de uma amostra do React."

O cliente chama as ferramentas de correspondência, solicita seu consentimento pela primeira vez e relata os resultados.

Controlar o que o servidor pode fazer

O servidor inclui controles para limitar quais ferramentas são expostas e chamáveis—útil quando você deseja que um cliente de IA explore seu ambiente sem fazer alterações:

  • Modo somente leitura: anuncie e permita apenas ferramentas de leitura, lista, obtenção e pesquisa e rejeite qualquer chamada mutante. Defina o --read-only sinalizador ou a SPE_READ_ONLY variável de ambiente.
  • Perfis de ferramenta: Restrinja as ferramentas expostas a um perfil (readOnly, docsOnly, provisioning, content, ou admin) ou uma lista separada por vírgulas de nomes de ferramentas, usando o --tools sinalizador ou a SPE_TOOLS variável de ambiente.

Consulte Configuração para as outras opções operacionais.

As ferramentas de operações de conteúdo também são protegidas por um consentimento explícito separado, para que um cliente de IA não possa ler ou alterar arquivos em seus contêineres até que você aceite. Para o modelo de segurança completo, consulte Controles de segurança no repositório do servidor.