SharePoint MCP Server

SharePoint MCP Server

Enables AI agents to manage SharePoint Online resources including lists, libraries, columns, views, and files through the SharePoint REST API. It supports comprehensive data operations, schema management, and file transfers using secure MSAL authentication.

Category
Visit Server

README

sharepoint-mcp

MCP server pre SharePoint Online — správa listov, knižníc, stĺpcov, pohľadov, položiek a súborov priamo z AI agenta.


Štruktúra projektu

sharepoint-mcp/
├── .env.example          # Šablóna konfigurácie (skopíruj do .env)
├── package.json
├── tsconfig.json
└── src/
    ├── index.ts          # MCP server + registrácia všetkých nástrojov
    ├── auth.ts           # MSAL browser login + file token cache
    ├── sharepoint.ts     # SharePoint REST klient (GET / POST / PATCH / DELETE / upload)
    ├── types.ts          # Zdieľané TypeScript typy (ColumnSpec, ViewSpec)
    ├── column-types.ts   # Mapovanie typov stĺpcov + buildFieldBody
    └── tools/
        ├── lists.ts      # Nástroje pre listy a knižnice
        ├── columns.ts    # Nástroje pre stĺpce
        ├── items.ts      # Nástroje pre položky
        ├── views.ts      # Nástroje pre pohľady
        └── files.ts      # Nástroje pre súbory

Dostupné nástroje (22)

Nástroj Popis
set_site Nastaví SharePoint site URL pre aktuálnu reláciu
list_lists Zoznam všetkých listov a knižníc na site
get_list_schema Stĺpce, pohľady a metadáta listu / knižnice
get_list_schema_xml Export kompletného SchemaXml (backup, klonovanie)
create_list Vytvorí list alebo knižnicu so stĺpcami a pohľadmi
create_list_from_xml Vytvorí list zo SchemaXml reťazca
delete_list Vymaže list alebo knižnicu
get_items Načíta položky (OData filter, select, orderby, paging)
create_item Vytvorí novú položku
update_item Aktualizuje položku podľa ID
delete_item Vymaže položku podľa ID
add_column Pridá stĺpec do existujúceho listu
update_column Zmení nastavenia stĺpca (názov, required, default, choices…)
delete_column Vymaže stĺpec
get_views Zoznam pohľadov listu
create_view Vytvorí nový pohľad so stĺpcami a filtrom
update_view Aktualizuje pohľad (stĺpce, filter, row limit)
list_files Zoznam súborov a priečinkov v knižnici
upload_file Nahrá súbor (base64 obsah)
download_file Stiahne súbor (vráti base64 obsah)
delete_file Vymaže súbor

Autentifikácia

Nevyžaduje app registration ani admin súhlas. Používa PnP Management Shell — well-known public client (31359c7f-bd7e-475c-86db-fdb8c937548e).

  • Pri prvom spustení sa otvorí prehliadač → prihlásenie pod vlastným účtom → jednorazový consent
  • Token je uložený v ~/.sharepoint-mcp/token-cache.json — ďalšie spustenia nevyžadujú login
  • Jeden token pokrýva všetky site collections na tom istom tenante
  • Prepínanie medzi site collections: zavolaj set_site s novou URL

Inštalácia a spustenie

# 1. Nainštaluj závislosti
npm install

# 2. Vytvor .env zo šablóny
cp .env.example .env
# Uprav SITE_URL v .env

# 3. Spusti vývojový server (voliteľné — Claude Code štartuje server sám)
npm run dev

.env

SITE_URL=https://contoso.sharepoint.com/sites/mysite

Konfigurácia MCP v Claude Desktop

Pridaj do claude_desktop_config.json (zvyčajne %APPDATA%\Claude\claude_desktop_config.json alebo na Windows %LOCALAPPDATA%\Packages\Claude_...\LocalCache\Roaming\Claude\claude_desktop_config.json):

Možnosť 1 — skompilovaný build (odporúčané)

Najprv sprav build projektu:

npm run build

Potom pridaj do konfigurácie (uprav cestu podľa svojho umiestnenia projektu):

{
  "mcpServers": {
    "sharepoint": {
      "command": "node",
      "args": ["C:/Users/Lukas/Documents/AI Projects/sharepoint-mcp/dist/index.js"]
    }
  }
}

Po každej zmene kódu treba znovu spustiť npm run build.

Možnosť 2 — priamo TypeScript cez tsx (len pre vývoj)

{
  "mcpServers": {
    "sharepoint": {
      "command": "npx",
      "args": ["tsx", "C:/Users/Lukas/Documents/AI Projects/sharepoint-mcp/src/index.ts"]
    }
  }
}

Pozor: cwd v konfigurácii Claude Desktop nefunguje spoľahlivo — vždy používaj absolútnu cestu v args.

Po uložení reštartuj Claude Desktop — server sa spustí automaticky pri prvom volaní nástroja.

Tip: Ak pracuješ na viacerých site collections, stačí na začiatku konverzácie zavolať set_site s príslušnou URL. Token sa znovu použije, prehliadač sa neotvorí.


Typy stĺpcov

Typ Popis Voliteľné parametre
text Jednoriadkový text
note Viacriadkový text richText
number Číslo min, max, decimals
currency Mena decimals
date Dátum a čas dateOnly
boolean Áno / Nie defaultValue
choice Výber jednej hodnoty choices[]
multichoice Výber viacerých hodnôt choices[]
person People picker multiple
url Odkaz
calculated Vypočítaný stĺpec formula, outputType

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured