SharePoint MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SITE_URL | Yes | Initial SharePoint site URL (e.g., https://contoso.sharepoint.com/sites/mysite) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| set_siteA | Set the SharePoint site URL to work with. Must be called before any other tool if SITE_URL is not set in .env. |
| list_listsA | List all lists and document libraries in the SharePoint site. Returns name, id, type (list / documentLibrary), item count, etc. |
| get_list_schemaA | Get the full schema of a list or library: all columns (type, required, default, indexed), all views, and list metadata. Works on both lists (baseTemplate 100) and document libraries (101). |
| get_list_schema_xmlA | Export the full SharePoint SchemaXml of a list or library. The XML contains every field, view, content type, and JSON formatting definition. Useful for backup or cloning. |
| create_listA | Create a new SharePoint list or document library with optional columns and views. Columns are described using structured specs (type, choices, required, indexed, etc.). New columns are automatically added to the default view. |
| create_list_from_xmlA | Create a list from a full SharePoint SchemaXml string (e.g. obtained from get_list_schema_xml). Useful for cloning or restoring a list. |
| delete_listC | Permanently delete a list or document library. |
| get_itemsC | Query items in a list. Supports OData $filter, $select, $orderby, $top, $skip, $expand. |
| create_itemB | Create a new item in a list. Pass field values as key-value pairs using internal column names. For person fields use the format {FieldNameId: userId}. For date fields use ISO 8601 strings. |
| update_itemC | Update fields of an existing list item by its numeric ID. |
| delete_itemC | Delete a list item by its numeric ID. |
| add_columnB | Add a new column to an existing list or library. The column is automatically added to the default view unless addToDefaultView is false. |
| update_columnC | Update settings of an existing column (display name, description, required, default value, indexed, choices). |
| delete_columnA | Delete a column from a list (by internal name). Cannot delete read-only or sealed columns. |
| get_viewsC | List all views of a list or library with their columns, filters, and row limits. |
| create_viewC | Create a new view for a list or library with specified columns, row limit, and optional CAML filter. |
| update_viewC | Update an existing view: change columns, CAML query, row limit, or make it the default. |
| list_filesC | List files and sub-folders inside a document library or a specific folder within it. |
| upload_fileC | Upload a file to a document library. Content must be base64-encoded. |
| download_fileC | Download a file from SharePoint. Returns base64-encoded content. |
| delete_fileB | Permanently delete a file from a document library. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 21 tools
Each tool has a clearly distinct purpose targeting specific SharePoint operations like list management, item handling, file operations, or schema manipulation. There is no significant overlap; for example, create_list and create_list_from_xml serve different creation methods, and get_list_schema vs. get_list_schema_xml provide different output formats.
All tool names follow a consistent verb_noun pattern using snake_case, such as create_item, delete_file, and update_view. This uniformity makes the tool set predictable and easy to navigate, with no deviations in naming conventions.
With 21 tools, the count is slightly high but reasonable for a comprehensive SharePoint server covering lists, items, files, columns, and views. It includes all essential CRUD operations and advanced features like schema handling, which justifies the breadth without feeling excessively bloated.
The tool set provides complete coverage for SharePoint operations, including full CRUD for lists, items, files, columns, and views, along with utilities for schema management, querying, and site configuration. There are no obvious gaps; agents can perform all typical workflows without dead ends.