{"id":27152345,"url":"https://github.com/demodorigatsuo/sharepoint-mcp","last_synced_at":"2025-07-19T02:02:28.736Z","repository":{"id":286602865,"uuid":"961461657","full_name":"DEmodoriGatsuO/sharepoint-mcp","owner":"DEmodoriGatsuO","description":"SharePoint MCP (Model Context Protocol) - A SharePoint connector for LLM applications. Access SharePoint documents and lists through Microsoft Graph API.","archived":false,"fork":false,"pushed_at":"2025-04-09T15:08:11.000Z","size":70,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-10T01:45:41.623Z","etag":null,"topics":["ai-assistant","api-wrapper","claude","llm","mcp","microsoft-graph-api","python","sharepoint"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DEmodoriGatsuO.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-04-06T15:18:53.000Z","updated_at":"2025-04-09T15:08:15.000Z","dependencies_parsed_at":"2025-04-07T12:43:26.042Z","dependency_job_id":null,"html_url":"https://github.com/DEmodoriGatsuO/sharepoint-mcp","commit_stats":null,"previous_names":["demodorigatsuo/sharepoint-mcp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DEmodoriGatsuO/sharepoint-mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DEmodoriGatsuO%2Fsharepoint-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DEmodoriGatsuO%2Fsharepoint-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DEmodoriGatsuO%2Fsharepoint-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DEmodoriGatsuO%2Fsharepoint-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DEmodoriGatsuO","download_url":"https://codeload.github.com/DEmodoriGatsuO/sharepoint-mcp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DEmodoriGatsuO%2Fsharepoint-mcp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265871858,"owners_count":23842089,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-assistant","api-wrapper","claude","llm","mcp","microsoft-graph-api","python","sharepoint"],"created_at":"2025-04-08T15:26:03.520Z","updated_at":"2025-07-19T02:02:28.725Z","avatar_url":"https://github.com/DEmodoriGatsuO.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![MseeP.ai Security Assessment Badge](https://mseep.net/pr/demodorigatsuo-sharepoint-mcp-badge.png)](https://mseep.ai/app/demodorigatsuo-sharepoint-mcp)\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Python 3.10+](https://img.shields.io/badge/Python-3.10+-blue.svg)](https://www.python.org/downloads/)\n[![MCP](https://img.shields.io/badge/MCP-Compatible-green.svg)](https://docs.anthropic.com/claude/docs/model-context-protocol)\n# SharePoint MCP Server\n\n\u003e **DISCLAIMER**: This project is not affiliated with, endorsed by, or related to Microsoft Corporation. SharePoint and Microsoft Graph API are trademarks of Microsoft Corporation. This is an independent, community-driven project.\n\nSharePoint Model Context Protocol (MCP) server acts as a bridge that enables LLM applications (like Claude) to access content from your SharePoint site. With this project, you can use natural language to query documents, lists, and other content in your SharePoint site.\n\n## Features\n\n- **Browse Document Libraries**: View contents of SharePoint document libraries\n- **Access List Data**: Retrieve and manipulate SharePoint list data\n- **Retrieve Document Content**: Access content from specific documents\n- **SharePoint Search**: Search across your entire site\n- **Create List Items**: Add new items to SharePoint lists\n\n## Prerequisites\n\n- Python 3.10 or higher\n- Access to a SharePoint site\n- Microsoft Azure AD application registration (for authentication)\n\n## Quickstart\n\nFollow these steps to get the SharePoint MCP Server up and running quickly:\n\n1. **Prerequisites**\n   - Ensure you have Python 3.10+ installed\n   - An Azure AD application with proper permissions (see docs/auth_guide.md)\n\n2. **Installation**\n   ```bash\n   # Install from GitHub\n   pip install git+https://github.com/DEmodoriGatsuO/sharepoint-mcp.git\n\n   # Or install in development mode\n   git clone https://github.com/DEmodoriGatsuO/sharepoint-mcp.git\n   cd sharepoint-mcp\n   pip install -e .\n   ```\n\n3. **Configuration**\n   ```bash\n   # Copy the example configuration\n   cp .env.example .env\n   \n   # Edit the .env file with your details\n   nano .env\n   ```\n\n4. **Run the Diagnostic Tools**\n   ```bash\n   # Check your configuration\n   python config_checker.py\n   \n   # Test authentication\n   python auth-diagnostic.py\n   ```\n\n5. **Start the Server**\n   ```bash\n   python server.py\n   ```\n\n## Installation\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/DEmodoriGatsuO/sharepoint-mcp.git\ncd sharepoint-mcp\n```\n\n2. Create and activate a virtual environment:\n\n```bash\npython -m venv venv\nsource venv/bin/activate  # On Windows: venv\\Scripts\\activate\n```\n\n3. Install dependencies:\n\n```bash\npip install -r requirements.txt\n```\n\n4. Set up environment variables:\n\n```bash\ncp .env.example .env\n# Edit the .env file with your authentication details\n```\n\n## Configuration\n\n1. Register an application in Azure AD and grant necessary permissions (see docs/auth_guide.md)\n2. Configure your authentication information and SharePoint site URL in the `.env` file\n\n## Usage\n\n### Run in Development Mode\n\n```bash\nmcp dev server.py\n```\n\n### Install in Claude Desktop\n\n```bash\nmcp install server.py --name \"SharePoint Assistant\"\n```\n\n### Run Directly\n\n```bash\npython server.py\n```\n\n## Advanced Usage\n\n### Handling Document Content\n\n```python\n# Example of retrieving document content\nimport requests\n\n# Get document content\nresponse = requests.get(\n    \"http://localhost:8080/sharepoint-mcp/document/Shared%20Documents/report.docx\", \n    headers={\"X-MCP-Auth\": \"your_auth_token\"}\n)\n\n# Process content\nif response.status_code == 200:\n    document_content = response.json()\n    print(f\"Document name: {document_content['name']}\")\n    print(f\"Size: {document_content['size']} bytes\")\n```\n\n### Working with SharePoint Lists\n\n```python\n# Example of retrieving list data\nimport requests\nimport json\n\n# Get list items\nresponse = requests.get(\n    \"http://localhost:8080/sharepoint-mcp/list/Tasks\", \n    headers={\"X-MCP-Auth\": \"your_auth_token\"}\n)\n\n# Create a new list item\nnew_item = {\n    \"Title\": \"Review quarterly report\",\n    \"Status\": \"Not Started\",\n    \"DueDate\": \"2025-05-01\"\n}\n\ncreate_response = requests.post(\n    \"http://localhost:8080/sharepoint-mcp/list/Tasks\", \n    headers={\n        \"X-MCP-Auth\": \"your_auth_token\",\n        \"Content-Type\": \"application/json\"\n    },\n    data=json.dumps(new_item)\n)\n```\n\n## Integrating with Claude\n\nSee the documentation in [docs/usage.md](docs/usage.md) for detailed examples of how to use this server with Claude and other LLM applications.\n\n## Monitoring and Troubleshooting\n\n### Logs\n\nThe server logs to stdout by default. Set `DEBUG=True` in your `.env` file to enable verbose logging.\n\n### Common Issues\n\n- **Authentication Failures**: Run `python auth-diagnostic.py` to diagnose issues\n- **Permission Errors**: Make sure your Azure AD app has the required permissions\n- **Token Issues**: Use `python token-decoder.py` to analyze your token's claims\n\n## License\n\nThis project is released under the MIT License. See the LICENSE file for details.\n\n## Contributing\n\nContributions are welcome. Please open an issue first to discuss what you would like to change before making major modifications. See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdemodorigatsuo%2Fsharepoint-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdemodorigatsuo%2Fsharepoint-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdemodorigatsuo%2Fsharepoint-mcp/lists"}