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.
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_sites 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:
cwdv konfigurácii Claude Desktop nefunguje spoľahlivo — vždy používaj absolútnu cestu vargs.
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_sites 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
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.