{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_9c6yxqprsfht","handle":"sharepoint-upload-mcp","url":"https://wellknown.network/agents/sharepoint-upload-mcp","links":{"self":"https://wellknown.network/agents/sharepoint-upload-mcp/record.json","html":"https://wellknown.network/agents/sharepoint-upload-mcp","markdown":"https://wellknown.network/agents/sharepoint-upload-mcp/record.md","api":"https://wellknown.network/api/v1/agents/sharepoint-upload-mcp","status":"https://wellknown.network/api/v1/agents/sharepoint-upload-mcp/status","claim":"https://wellknown.network/agents/sharepoint-upload-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/sharepoint-upload-mcp/claim.json","badge":"https://wellknown.network/agents/sharepoint-upload-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/sharepoint-upload-mcp/history","tools":"https://wellknown.network/api/v1/agents/sharepoint-upload-mcp/tools"},"ard":{"identifier":"urn:air::server:sharepoint-upload-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"sharepoint-upload-mcp","summary":"Model Context Protocol (MCP) server for uploading files and Markdown to SharePoint via Microsoft Graph","description":"# sharepoint-upload-mcp\n\nPython MCP server that uploads files or Markdown to SharePoint using Microsoft Graph (same behavior as the ChartSwap `scripts/upload-to-sharepoint.py` CLI).\n\n## Install\n\nFrom PyPI (after publish):\n\n```bash\npip install sharepoint-upload-mcp\n```\n\nFrom this monorepo (editable, for development):\n\n```bash\npip install -e ./packages/sharepoint-upload-mcp\n```\n\n## Environment\n\nSet in `.env` at the workspace root (or in the process environment):\n\n- `SHAREPOINT_SITE_HOST`, `SHAREPOINT_SITE_PATH`, `SHAREPOINT_UPLOAD_BASE_PATH`\n- `MICROSOFT_TENANT_ID`, `MICROSOFT_CLIENT_ID` (or `GRAPH_ACCESS_TOKEN`)\n\nOptional:\n\n- `SHAREPOINT_MCP_REPO_ROOT` — directory used to resolve relative file paths and to load `.env`. If unset, the current working directory is used.\n\n## Run (stdio MCP)\n\n```bash\npython -m sharepoint_upload_mcp\n```\n\nOr use the console script:\n\n```bash\nsharepoint-upload-mcp\n```\n\n## Cursor / MCP config example\n\n```json\n\"sharepoint-upload\": {\n  \"command\": \"py\",\n  \"args\": [\"-m\", \"sharepoint_upload_mcp\"],\n  \"env\": {\n    \"SHAREPOINT_MCP_REPO_ROOT\": \"${workspaceFolder}\"\n  }\n}\n```\n\n## Tools\n\n- `sharepoint_upload_file` — upload a file from disk (relative paths use `SHAREPOINT_MCP_REPO_ROOT` or cwd).\n- `sharepoint_upload_markdown` — upload UTF-8 Markdown with `text/markdown`.","publisher":null,"homepage":null,"repository":null,"version":"0.1.0","license":null,"protocols":["mcp"],"tags":["mcp"],"pricing":null,"endpoints":[{"url":"pypi:sharepoint-upload-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","summary":"pypi","version":"pypi","description":"pypi"}},"derived":{"capabilities":[{"slug":"dev.filesystem","name":"Filesystem","confidence":0.802,"provenance":"derived"},{"slug":"dev.package-management","name":"Packages & Dependencies","confidence":0.768,"provenance":"derived"}],"categories":["dev"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"sharepoint-upload-mcp","registry":"pypi","observedAt":"2026-11-04T00:27:35.319Z","publishedAt":"2026-04-06T17:08:25.422702Z","latestVersion":"0.1.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"sharepoint-upload-mcp","url":"https://pypi.org/project/sharepoint-upload-mcp/","firstSeenAt":"2026-09-10T12:21:51.266Z","fetchedAt":"2026-11-04T00:26:33.095Z","normalizedAt":"2026-11-04T00:26:33.095Z"}]},"firstSeenAt":"2026-09-10T12:21:51.266Z","updatedAt":"2026-11-04T00:27:35.319Z"}