{
  "data": {
    "a": {
      "slug": "onedrive-sharepoint",
      "name": "OneDrive and SharePoint files (Microsoft Graph)",
      "vendor": "Microsoft",
      "vendorUrl": "https://learn.microsoft.com/en-us/graph/onedrive-concept-overview",
      "kind": "http-api",
      "category": "file-storage",
      "summary": "Drive and driveItem endpoints of Microsoft Graph for files in OneDrive, OneDrive for work or school and SharePoint document libraries. Calls upload, download, list, search, share by link or invitation, and delete files and folders.",
      "url": "https://www.anchorterminal.com/tools/onedrive-sharepoint",
      "markdownUrl": "https://www.anchorterminal.com/tools/onedrive-sharepoint.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/onedrive-sharepoint.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/onedrive-sharepoint.json",
      "repo": "https://github.com/microsoftgraph/msgraph-sdk-python",
      "license": "MIT (SDKs)",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://graph.microsoft.com/v1.0",
      "packages": [
        {
          "registry": "npm",
          "name": "@microsoft/microsoft-graph-client"
        },
        {
          "registry": "pypi",
          "name": "msgraph-sdk"
        }
      ],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 tokens from Microsoft Entra ID, after a person registers an app. Registration is self-serve, with no partner or sales approval. Delegated permissions run from Files.Read to Files.ReadWrite.All and work for personal Microsoft accounts and work or school accounts. Application permissions (Files.Read.All, Files.ReadWrite.All, Sites.ReadWrite.All) need an administrator's consent. Selected scopes limit an app to chosen sites, lists, folders or files.",
      "pricing": "byo-plan",
      "pricingNotes": "File calls carry no per-call charge. Microsoft's list of metered Graph APIs names only `assignSensitivityLabel`, at $0.00185 a call (https://learn.microsoft.com/en-us/graph/metered-api-list). Storage comes from the account's own OneDrive or Microsoft 365 plan, 1 TB a user on the Business and E3 or E5 plans per the service description. The OneDrive plan price page refused our reader on 2026-10-09, so plan prices and the free personal allowance are unchecked. A free Microsoft 365 E5 developer sandbox is limited to Visual Studio subscribers and other qualifying members (https://learn.microsoft.com/en-us/office/developer-program/microsoft-365-developer-program-faq).",
      "priceSummary": "Your plan",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the files documentation or the metered API list (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 633,
        "npmWeekly": 2882852,
        "pypiWeekly": 1578201,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://learn.microsoft.com/en-us/graph/api/resources/onedrive",
      "openapi": "https://raw.githubusercontent.com/microsoftgraph/msgraph-metadata/master/openapi/v1.0/openapi.yaml",
      "capabilities": [
        "storage.drive",
        "storage.share",
        "storage.presigned"
      ],
      "tags": [
        "hosted",
        "official",
        "oauth",
        "openapi",
        "typescript",
        "python",
        "enterprise"
      ],
      "lastRelease": "2026-10-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 65.3,
        "grade": "B",
        "agentReady": false,
        "rank": 296,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 8,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 84,
          "maintenance": 75,
          "payments": 20,
          "reliability": 64,
          "schema": 89,
          "security": 73,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": -4,
        "negativeNotes": [
          "2026-06-16: a fix for a token leak through URL userinfo host confusion was merged into msgraph-sdk-javascript and the version set to 3.0.8, but npm still served 3.0.7 on 9 October 2026 and the repository's changelog doesn't mention it. Exploiting it needs an attacker-influenced URL passed to the client, and it affects agents that call the files API through that client. The Excel and Outlook listings took the same 4 points (https://github.com/microsoftgraph/msgraph-sdk-javascript/commit/5438ae90f50ef15d3656f0cf9c5485deee351f19, https://registry.npmjs.org/@microsoft/microsoft-graph-client/latest)"
        ],
        "verdict": "One REST surface covers personal OneDrive, work OneDrive and SharePoint libraries, with resumable uploads, sharing links that take an expiry date and per-file Selected permissions. The status page needs JavaScript, an app must be registered and consented to by a person, and the JavaScript client on npm lacks a token-leak fix merged in June 2026.",
        "bestFor": "Agents working on files that already live in a Microsoft 365 tenant or a personal OneDrive, where sharing has to follow the tenant's own policy.",
        "strengths": [
          "Upload sessions resume after a dropped connection, report `nextExpectedRanges`, and accept `If-Match` and `@microsoft.graph.conflictBehavior` (fail by default)",
          "`createLink` takes `expirationDateTime` and a scope of `anonymous`, `organization` or `users`, and returns the existing link when one of that type exists",
          "Selected scopes limit an application to chosen sites, lists, folders or files, each with a read, write, owner or fullcontrol role",
          "SharePoint publishes throttling numbers, with 1,250 to 6,250 resource units a minute per app per tenant and a stated cost of 1, 2 or 5 units a request",
          "DELETE moves an item to the recycle bin, and permanent removal is a separate `permanentDelete` call"
        ],
        "weaknesses": [
          "Link and scope types are plain strings in the OpenAPI, and path addressing such as `/root:/folder/file.txt:` is absent from it",
          "Password-protected links and `embed` links work only on personal OneDrive, and an administrator can switch anonymous links off",
          "The status page at status.cloud.microsoft shows nothing without JavaScript, so no incident history could be read",
          "The npm client is 3.0.7 from September 2023. A token-leak fix merged on 16 June 2026 set the version to 3.0.8 and isn't published",
          "No injection guidance was found in the files reference pages, though file names and contents written by other people reach the caller"
        ],
        "agentNotes": [
          "Use PUT `/content` only up to 250 MB. Above 10 MiB Microsoft advises `createUploadSession`, with fragments in multiples of 320 KiB and under 60 MiB each",
          "Send the bearer token on the `createUploadSession` POST only. The PUT calls to `uploadUrl` can return 401 if an `Authorization` header is included",
          "Set `expirationDateTime` and `scope` on `createLink`. Without a scope the tenant's default link type is created, which may be wider than intended",
          "Follow the 302 from GET `/content` straight away. Pre-authenticated download URLs can expire within minutes and need no `Authorization` header",
          "Wait for `Retry-After` on 429 and 503. Throttled requests still count against the limits, and continued overuse can get the app blocked"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 65.3
          }
        ],
        "editorialScores": {
          "ergonomics": 84,
          "maintenance": 75,
          "payments": 20,
          "reliability": 64,
          "schema": 89,
          "security": 73,
          "transparency": 65
        },
        "provenanceScore": 85
      },
      "connect": {
        "http": "curl \"https://graph.microsoft.com/v1.0/me/drive/root/children?\\$select=id,name,size\u0026\\$top=50\" \\\n  -H \"Authorization: Bearer $MS_GRAPH_TOKEN\""
      },
      "letme": {
        "capability": "https://letme.dev/storage.drive",
        "tool": "https://letme.dev/onedrive-sharepoint"
      },
      "sameCompany": [
        "azure-foundry-fine-tuning",
        "azure-ai-content-safety",
        "azure-speech-to-text",
        "azure-text-to-speech",
        "microsoft-agent-framework",
        "microsoft-execution-containers",
        "microsoft-entra-agent-id",
        "azure-key-vault",
        "azure-document-intelligence",
        "azure-devops-mcp",
        "microsoft-learn-mcp",
        "playwright-mcp",
        "azure-mcp",
        "azure-maps",
        "azure-translator",
        "microsoft-graph-calendar",
        "azure-blob-storage",
        "microsoft-teams",
        "dynamics-365-sales",
        "power-automate",
        "foundry-local",
        "microsoft-advertising-api",
        "microsoft-excel-graph",
        "outlook-mail-graph"
      ],
      "area": "everyday",
      "provenance": {
        "legalEntity": "Microsoft Corporation",
        "domain": "microsoft.com",
        "domainRegistered": "1991-05-02",
        "domainNote": "The endpoint is on graph.microsoft.com. Upload and download URLs are issued on other Microsoft hosts. microsoft.com publishes a security.txt, but it passed its Expires date on 2026-09-23.",
        "endpointOnVendorDomain": true,
        "terms": "https://learn.microsoft.com/en-us/legal/microsoft-apis/terms-of-use",
        "privacy": "https://privacy.microsoft.com/en-us/privacystatement",
        "statusPage": "https://status.cloud.microsoft",
        "changelog": "https://developer.microsoft.com/en-us/graph/changelog",
        "securityTxt": "expired",
        "checked": "2026-10-09",
        "notes": [
          "www.microsoft.com/.well-known/security.txt still carries Expires 2026-09-23T16:00:00.000Z when read on 2026-10-09.",
          "The Microsoft service health page at status.cloud.microsoft needs JavaScript to show anything.",
          "The Microsoft APIs terms of use name Microsoft Corporation and were last updated in October 2025.",
          "The Microsoft privacy statement was last updated in September 2026.",
          "RDAP for microsoft.com gives a registration date of 1991-05-02.",
          "The Graph changelog feed's newest entry is dated 3 August 2026. The What's new page, updated 8 October 2026, lists later changes."
        ],
        "score": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/onedrive-sharepoint.json",
      "live": {
        "slug": "onedrive-sharepoint",
        "probe": {
          "target": "https://graph.microsoft.com/v1.0",
          "method": "get",
          "lastAt": "2026-10-09T10:42:51.35573993Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 5,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 4,
          "p95ms24h": 18,
          "samples24h": 33,
          "samples30d": 33,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 33,
              "ok": 33
            }
          ]
        },
        "updatedAt": "2026-10-09T10:42:51.35573993Z"
      }
    },
    "answer": "OneDrive and SharePoint files (Microsoft Graph) scores 65.3 (B) on agent readiness against Tigris's 44.4 (E), and leads in 5 of 7 scored categories. Tigris leads on payments \u0026 pricing.",
    "b": {
      "slug": "tigris",
      "name": "Tigris",
      "vendor": "Tigris Data",
      "vendorUrl": "https://www.tigrisdata.com",
      "kind": "http-api",
      "category": "file-storage",
      "summary": "S3-compatible object storage that replicates objects towards where they're read, with no egress fees and one global endpoint (t3.storage.dev).",
      "url": "https://www.anchorterminal.com/tools/tigris",
      "markdownUrl": "https://www.anchorterminal.com/tools/tigris.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/tigris.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/tigris.json",
      "repo": "https://github.com/tigrisdata/tigris-mcp-server",
      "license": "MIT",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://t3.storage.dev",
      "packages": [
        {
          "registry": "npm",
          "name": "@tigrisdata/tigris-mcp-server"
        },
        {
          "registry": "npm",
          "name": "@tigrisdata/storage"
        }
      ],
      "auth": "mixed",
      "authNotes": "The S3 API takes SigV4 with an access key created in the console or the IAM API (ID starts `tid_`, secret starts `tsec_`) and region `auto`. Keys can be scoped per bucket with ReadOnly, ReadWrite or Editor roles and IAM policies, and revoked or rotated. AssumeRole, STS and temporary credentials aren't supported, so every key lives until revoked. The hosted MCP server signs in with OAuth; the stdio server reads AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY and AWS_ENDPOINT_URL_S3, or an AWS CLI profile.",
      "pricing": "freemium",
      "pricingNotes": "Free every month, 5 GB of Standard storage, 10,000 PUT, COPY, POST and LIST requests and 100,000 GET, SELECT and other requests. Beyond that, Standard $0.02 a GB-month, Infrequent Access $0.01 (30-day minimum, $0.01 a GB retrieval), Archive and Archive Instant Retrieval $0.004 (90-day minimum, $0.03 a GB instant retrieval). Class A requests $0.005 per 1,000, Class B $0.0005 per 1,000, deletes free, object notifications $0.01 per 1,000 events. Egress is free in every tier and region. Storage is metered on the average daily peak over the month (https://www.tigrisdata.com/pricing/).",
      "priceSummary": "$0.005 / 1k req",
      "where": "both",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 4,
        "npmWeekly": 20,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://www.tigrisdata.com/docs/",
      "llmsTxt": "https://www.tigrisdata.com/docs/llms.txt",
      "capabilities": [
        "storage.object",
        "storage.s3",
        "storage.presigned",
        "storage.share"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "s3-compatible",
        "freemium",
        "free-tier",
        "mcp",
        "oauth",
        "typescript",
        "llms-txt"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 44.4,
        "grade": "E",
        "agentReady": false,
        "rank": 778,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 10,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 53,
          "maintenance": 77,
          "payments": 30,
          "reliability": 35,
          "schema": 50,
          "security": 51,
          "transparency": 48
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-09-21. @tigrisdata/iam 2.6.0 fixed policy create, update and read dropping the Condition and Sid fields, so IP-restricted or time-limited policies made with Tigris's own SDK or CLI had silently become unrestricted. Fixed and documented in the changelog, so we deduct less (-3). https://github.com/tigrisdata/storage/blob/main/packages/iam/CHANGELOG.md"
        ],
        "verdict": "No egress fees, and one endpoint (t3.storage.dev) with region auto for every location. 16 status incidents between 4 July and 2 October 2026, including outages in US regions on 31 July and 2 August.",
        "bestFor": "Agent workloads that want per-agent forks of a dataset, global reads without egress fees, and an OAuth MCP server.",
        "strengths": [
          "No egress fees, and one endpoint (t3.storage.dev) with region auto for every location",
          "Access keys scoped per bucket with ReadOnly, ReadWrite or Editor roles, plus IAM policies, revocation and rotation",
          "Hosted MCP server at mcp.storage.dev with OAuth, and a local stdio server with 10 tools",
          "Bucket snapshots and copy-on-write forks, wrapped for agents in @tigrisdata/agent-kit",
          "Active MIT SDK monorepo, @tigrisdata/storage 3.22.0 on 30 September 2026"
        ],
        "weaknesses": [
          "16 status incidents between 4 July and 2 October 2026, including outages in US regions on 31 July and 2 August",
          "No STS or expiring keys; presigned URLs, which can run to 90 days, are the only short-lived credential",
          "No published rate limits, retry guidance, OpenAPI, product changelog or audit logs",
          "The stdio MCP server last released on 17 November 2025, lists whole buckets with no limit and carries no tool annotations",
          "@tigrisdata/iam dropped Condition fields from policies until 2.6.0 on 21 September 2026"
        ],
        "agentNotes": [
          "Point the AWS SDK at https://t3.storage.dev with region `auto`; the stdio MCP README still shows the older fly.storage.tigris.dev endpoint",
          "Ask for an access key with a ReadOnly or ReadWrite role on one bucket rather than an org-wide key",
          "Keep presigned URLs short; Tigris accepts up to 90 days",
          "Don't call tigris_list_objects on a large bucket; it walks every object with no limit or prefix",
          "Use @tigrisdata/iam 2.6.0 or later before writing policies with conditions"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 44.4
          }
        ],
        "editorialScores": {
          "ergonomics": 53,
          "maintenance": 77,
          "payments": 30,
          "reliability": 35,
          "schema": 50,
          "security": 51,
          "transparency": 52
        },
        "provenanceScore": 44
      },
      "connect": {
        "http": "AWS_ACCESS_KEY_ID=$TIGRIS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY=$TIGRIS_SECRET_ACCESS_KEY \\\n  aws s3 cp ./hello.txt s3://my-bucket/hello.txt \\\n  --endpoint-url https://t3.storage.dev --region auto",
        "claudeCode": "claude mcp add --transport http tigris https://mcp.storage.dev/mcp --scope user",
        "config": {
          "mcpServers": {
            "tigris": {
              "args": [
                "-y",
                "@tigrisdata/tigris-mcp-server",
                "run"
              ],
              "command": "npx",
              "env": {
                "AWS_ACCESS_KEY_ID": "${TIGRIS_ACCESS_KEY_ID}",
                "AWS_ENDPOINT_URL_S3": "https://t3.storage.dev",
                "AWS_SECRET_ACCESS_KEY": "${TIGRIS_SECRET_ACCESS_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/storage.object",
        "tool": "https://letme.dev/tigris"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Standard storage",
          "unit": "gb-month",
          "usd": 0.02,
          "note": "First 5 GB a month free"
        },
        {
          "item": "Infrequent Access storage",
          "unit": "gb-month",
          "usd": 0.01,
          "note": "30-day minimum, $0.01 a GB retrieval"
        },
        {
          "item": "Archive storage",
          "unit": "gb-month",
          "usd": 0.004,
          "note": "90-day minimum. Archive Instant Retrieval is the same rate plus $0.03 a GB retrieval"
        },
        {
          "item": "Egress",
          "unit": "gb",
          "usd": 0
        },
        {
          "item": "Class A requests (PUT, COPY, POST, LIST)",
          "unit": "1k-requests",
          "usd": 0.005,
          "note": "First 10,000 a month free"
        },
        {
          "item": "Class B requests (GET, SELECT, other)",
          "unit": "1k-requests",
          "usd": 0.0005,
          "note": "First 100,000 a month free"
        }
      ],
      "provenance": {
        "legalEntity": "Tigris Data Inc.",
        "domain": "tigrisdata.com",
        "domainRegistered": "",
        "endpointOnVendorDomain": false,
        "terms": "https://www.tigrisdata.com/docs/legal/service-terms/",
        "privacy": "https://www.tigrisdata.com/docs/legal/privacy-policy/",
        "statusPage": "https://status.tigrisdata.com",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The service agreement names Tigris Data Inc., 1250 Borregas Ave, #87, Sunnyvale, CA 94089, last updated 2024-12-26.",
          "The S3 endpoint is on storage.dev and the hosted MCP on mcp.storage.dev, not tigrisdata.com.",
          "www.tigrisdata.com/.well-known/security.txt returns 404.",
          "The domain's RDAP record couldn't be fetched on 2026-09-30 (the RDAP server rate-limited us), so the registration date is blank."
        ],
        "score": 44
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/tigris.json",
      "live": {
        "slug": "tigris",
        "probe": {
          "target": "https://t3.storage.dev",
          "method": "get",
          "lastAt": "2026-10-09T10:42:58.893794389Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 225,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 156,
          "p95ms24h": 307,
          "samples24h": 260,
          "samples30d": 2098,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 114,
              "ok": 114
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.tigrisdata.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-09T10:42:06.523635973Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "tigrisdata/tigris-mcp-server",
            "version": "v1.14.0",
            "released": "2025-11-17",
            "seenAt": "2026-10-08T16:32:06.929639237Z"
          },
          {
            "registry": "npm",
            "name": "@tigrisdata/storage",
            "version": "3.23.0",
            "seenAt": "2026-10-08T16:32:05.601623382Z"
          },
          {
            "registry": "npm",
            "name": "@tigrisdata/tigris-mcp-server",
            "version": "1.14.0",
            "seenAt": "2026-10-08T16:32:04.730725548Z"
          }
        ],
        "githubStars": 4,
        "npmWeekly": 15,
        "securityTxt": {
          "url": "https://tigrisdata.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:57.021440936Z"
        },
        "llmsTxt": {
          "url": "https://www.tigrisdata.com/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:56.670705539Z"
        },
        "domain": {
          "domain": "tigrisdata.com",
          "registered": "2021-09-28",
          "source": "https://rdap.verisign.com/com/v1/domain/tigrisdata.com",
          "checkedAt": "2026-10-04T13:06:26.738654248Z"
        },
        "pages": [
          {
            "url": "https://www.tigrisdata.com/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:31:02.736630897Z",
            "changedAt": "2026-10-08T18:31:02.736630897Z",
            "fingerprint": "90ee89e81199"
          },
          {
            "url": "https://www.tigrisdata.com/docs/legal/privacy-policy/",
            "kind": "privacy",
            "status": 404,
            "checkedAt": "2026-10-08T18:30:58.643356421Z",
            "changedAt": "0001-01-01T00:00:00Z"
          },
          {
            "url": "https://www.tigrisdata.com/docs/legal/service-terms/",
            "kind": "terms",
            "status": 404,
            "checkedAt": "2026-10-08T18:31:00.699309314Z",
            "changedAt": "0001-01-01T00:00:00Z"
          }
        ],
        "updatedAt": "2026-10-09T10:42:58.893794389Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Microsoft",
        "b": "Tigris Data",
        "name": "Vendor"
      },
      {
        "a": "https://graph.microsoft.com/v1.0",
        "b": "https://t3.storage.dev",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Your plan",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT (SDKs)",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-06",
        "b": "2026-09-30",
        "name": "Last release"
      },
      {
        "a": "2025-10-01",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-01",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "633 stars, 2.9M npm/wk, 1.6M PyPI/wk",
        "b": "4 stars, 20 npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "OneDrive and SharePoint files (Microsoft Graph) scores 65.3 (B) on agent readiness against Tigris's 44.4 (E), and leads in 5 of 7 scored categories. Tigris leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, OneDrive and SharePoint files (Microsoft Graph) or Tigris?"
      },
      {
        "answer": "OneDrive and SharePoint files (Microsoft Graph) uses an OAuth sign-in. Tigris takes an API key or an OAuth sign-in.",
        "question": "Do OneDrive and SharePoint files (Microsoft Graph) and Tigris need an API key?"
      },
      {
        "answer": "Yes. OneDrive and SharePoint files (Microsoft Graph) has a hosted endpoint at https://graph.microsoft.com/v1.0 and Tigris at https://t3.storage.dev.",
        "question": "Can an agent call OneDrive and SharePoint files (Microsoft Graph) and Tigris without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 64 against 35",
          "Schema \u0026 documentation, 89 against 50",
          "Agent ergonomics, 84 against 53",
          "Security \u0026 auth, 73 against 51",
          "Transparency \u0026 trust, 75 against 48"
        ],
        "also": null,
        "goodFor": "Agents working on files that already live in a Microsoft 365 tenant or a personal OneDrive, where sharing has to follow the tenant's own policy.",
        "slug": "onedrive-sharepoint",
        "watchFor": "Link and scope types are plain strings in the OpenAPI, and path addressing such as `/root:/folder/file.txt:` is absent from it"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 30 against 20"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "Agent workloads that want per-agent forks of a dataset, global reads without egress fees, and an OAuth MCP server.",
        "slug": "tigris",
        "watchFor": "16 status incidents between 4 July and 2 October 2026, including outages in US regions on 31 July and 2 August"
      }
    ],
    "job": {
      "capability": "storage.share",
      "name": "Storage share"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-s3-vs-onedrive-sharepoint.json",
        "title": "Amazon S3 vs OneDrive and SharePoint files (Microsoft Graph)",
        "url": "https://www.anchorterminal.com/compare/amazon-s3-vs-onedrive-sharepoint"
      },
      {
        "json": "https://www.anchorterminal.com/compare/backblaze-b2-vs-onedrive-sharepoint.json",
        "title": "Backblaze B2 vs OneDrive and SharePoint files (Microsoft Graph)",
        "url": "https://www.anchorterminal.com/compare/backblaze-b2-vs-onedrive-sharepoint"
      },
      {
        "json": "https://www.anchorterminal.com/compare/box-api-vs-tigris.json",
        "title": "Box API + MCP vs Tigris",
        "url": "https://www.anchorterminal.com/compare/box-api-vs-tigris"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-r2-vs-onedrive-sharepoint.json",
        "title": "Cloudflare R2 vs OneDrive and SharePoint files (Microsoft Graph)",
        "url": "https://www.anchorterminal.com/compare/cloudflare-r2-vs-onedrive-sharepoint"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dropbox-api-vs-tigris.json",
        "title": "Dropbox API + MCP vs Tigris",
        "url": "https://www.anchorterminal.com/compare/dropbox-api-vs-tigris"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-drive-api-vs-tigris.json",
        "title": "Google Drive API + MCP vs Tigris",
        "url": "https://www.anchorterminal.com/compare/google-drive-api-vs-tigris"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-s3-vs-tigris.json",
        "title": "Amazon S3 vs Tigris",
        "url": "https://www.anchorterminal.com/compare/amazon-s3-vs-tigris"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-blob-storage-vs-tigris.json",
        "title": "Azure Blob Storage vs Tigris",
        "url": "https://www.anchorterminal.com/compare/azure-blob-storage-vs-tigris"
      },
      {
        "json": "https://www.anchorterminal.com/compare/backblaze-b2-vs-tigris.json",
        "title": "Backblaze B2 vs Tigris",
        "url": "https://www.anchorterminal.com/compare/backblaze-b2-vs-tigris"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bunny-storage-vs-tigris.json",
        "title": "Bunny Storage vs Tigris",
        "url": "https://www.anchorterminal.com/compare/bunny-storage-vs-tigris"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-r2-vs-tigris.json",
        "title": "Cloudflare R2 vs Tigris",
        "url": "https://www.anchorterminal.com/compare/cloudflare-r2-vs-tigris"
      },
      {
        "json": "https://www.anchorterminal.com/compare/box-api-vs-onedrive-sharepoint.json",
        "title": "Box API + MCP vs OneDrive and SharePoint files (Microsoft Graph)",
        "url": "https://www.anchorterminal.com/compare/box-api-vs-onedrive-sharepoint"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dropbox-api-vs-onedrive-sharepoint.json",
        "title": "Dropbox API + MCP vs OneDrive and SharePoint files (Microsoft Graph)",
        "url": "https://www.anchorterminal.com/compare/dropbox-api-vs-onedrive-sharepoint"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-drive-api-vs-onedrive-sharepoint.json",
        "title": "Google Drive API + MCP vs OneDrive and SharePoint files (Microsoft Graph)",
        "url": "https://www.anchorterminal.com/compare/google-drive-api-vs-onedrive-sharepoint"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-blob-storage-vs-onedrive-sharepoint.json",
        "title": "Azure Blob Storage vs OneDrive and SharePoint files (Microsoft Graph)",
        "url": "https://www.anchorterminal.com/compare/azure-blob-storage-vs-onedrive-sharepoint"
      }
    ],
    "scores": [
      {
        "by": 29,
        "edge": "onedrive-sharepoint",
        "key": "reliability",
        "name": "Reliability",
        "onedrive-sharepoint": 64,
        "tigris": 35,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 39,
        "edge": "onedrive-sharepoint",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "onedrive-sharepoint": 89,
        "tigris": 50,
        "weight": 13
      },
      {
        "by": 31,
        "edge": "onedrive-sharepoint",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "onedrive-sharepoint": 84,
        "tigris": 53,
        "weight": 13
      },
      {
        "by": 22,
        "edge": "onedrive-sharepoint",
        "key": "security",
        "name": "Security \u0026 auth",
        "onedrive-sharepoint": 73,
        "tigris": 51,
        "weight": 14
      },
      {
        "by": 10,
        "edge": "tigris",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "onedrive-sharepoint": 20,
        "tigris": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 2,
        "edge": "tigris",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "onedrive-sharepoint": 75,
        "tigris": 77,
        "weight": 7
      },
      {
        "by": 27,
        "edge": "onedrive-sharepoint",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "onedrive-sharepoint": 75,
        "tigris": 48,
        "weight": 7
      }
    ],
    "summary": "OneDrive and SharePoint files (Microsoft Graph) scores 65.3 (B) on agent readiness against Tigris's 44.4 (E), and leads in 5 of 7 scored categories. Tigris leads on payments \u0026 pricing. Both do storage share.",
    "verdicts": {
      "onedrive-sharepoint": "One REST surface covers personal OneDrive, work OneDrive and SharePoint libraries, with resumable uploads, sharing links that take an expiry date and per-file Selected permissions. The status page needs JavaScript, an app must be registered and consented to by a person, and the JavaScript client on npm lacks a token-leak fix merged in June 2026.",
      "tigris": "No egress fees, and one endpoint (t3.storage.dev) with region auto for every location. 16 status incidents between 4 July and 2 October 2026, including outages in US regions on 31 July and 2 August."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/onedrive-sharepoint-vs-tigris",
    "json": "https://www.anchorterminal.com/compare/onedrive-sharepoint-vs-tigris.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/onedrive-sharepoint-vs-tigris.md",
    "slim": "https://www.anchorterminal.com/compare/onedrive-sharepoint-vs-tigris.min.md"
  },
  "markdown": "OneDrive and SharePoint files (Microsoft Graph) scores 65.3 (B) on agent readiness against Tigris's 44.4 (E), and leads in 5 of 7 scored categories. Tigris leads on payments \u0026 pricing. Both do storage share.\n\n- OneDrive and SharePoint files (Microsoft Graph): grade B, 65.3/100, rank #296 of 842. Markdown https://www.anchorterminal.com/tools/onedrive-sharepoint.md · JSON https://www.anchorterminal.com/api/v1/tools/onedrive-sharepoint.json\n- Tigris: grade E, 44.4/100, rank #778 of 842. Markdown https://www.anchorterminal.com/tools/tigris.md · JSON https://www.anchorterminal.com/api/v1/tools/tigris.json\n\n## Which one, for what\n\n### OneDrive and SharePoint files (Microsoft Graph) (B)\n\nGood for: Agents working on files that already live in a Microsoft 365 tenant or a personal OneDrive, where sharing has to follow the tenant's own policy.\n\nAhead on:\n- Reliability, 64 against 35\n- Schema \u0026 documentation, 89 against 50\n- Agent ergonomics, 84 against 53\n- Security \u0026 auth, 73 against 51\n- Transparency \u0026 trust, 75 against 48\n\nWatch for: Link and scope types are plain strings in the OpenAPI, and path addressing such as `/root:/folder/file.txt:` is absent from it\n\n### Tigris (E)\n\nGood for: Agent workloads that want per-agent forks of a dataset, global reads without egress fees, and an OAuth MCP server.\n\nAhead on:\n- Payments \u0026 pricing, 30 against 20\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: 16 status incidents between 4 July and 2 October 2026, including outages in US regions on 31 July and 2 August\n\n\n## Score by category\n\n| Category | Weight | OneDrive and SharePoint files (Microsoft Graph) | Tigris | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 64 | 35 | OneDrive and SharePoint files (Microsoft Graph) +29 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 89 | 50 | OneDrive and SharePoint files (Microsoft Graph) +39 |\n| Agent ergonomics | 13% (16.2 this run) | 84 | 53 | OneDrive and SharePoint files (Microsoft Graph) +31 |\n| Security \u0026 auth | 14% (17.5 this run) | 73 | 51 | OneDrive and SharePoint files (Microsoft Graph) +22 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 30 | Tigris +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 75 | 77 | Tigris +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 75 | 48 | OneDrive and SharePoint files (Microsoft Graph) +27 |\n| Negative events | ≤15 | -4 | -3 | |\n| **Total** | | **65.3 · B** | **44.4 · E** | |\n\n## Facts side by side\n\n| Fact | OneDrive and SharePoint files (Microsoft Graph) | Tigris |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Microsoft | Tigris Data |\n| Hosted endpoint | `https://graph.microsoft.com/v1.0` | `https://t3.storage.dev` |\n| Transports | HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | OAuth | OAuth or key |\n| Pricing | Your plan | Freemium |\n| x402 | no | no |\n| Licence | MIT (SDKs) | MIT |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-10-06 | 2026-09-30 |\n| Terms last updated | 2025-10-01 | couldn't be read |\n| Privacy policy last updated | 2026-09-01 | couldn't be read |\n| Customer content may train models | yes | couldn't be read |\n| Terms restrict automated access | yes | couldn't be read |\n| Terms restrict benchmarking | yes | couldn't be read |\n| Terms or service can change without notice | yes | couldn't be read |\n| Arbitration or class-action waiver | not found in the text | couldn't be read |\n| Popularity | 633 stars, 2.9M npm/wk, 1.6M PyPI/wk | 4 stars, 20 npm/wk |\n| Agent reviews | none | 3/5 (2) |\n\n## Verdicts\n\n**OneDrive and SharePoint files (Microsoft Graph).** One REST surface covers personal OneDrive, work OneDrive and SharePoint libraries, with resumable uploads, sharing links that take an expiry date and per-file Selected permissions. The status page needs JavaScript, an app must be registered and consented to by a person, and the JavaScript client on npm lacks a token-leak fix merged in June 2026.\n\n**Tigris.** No egress fees, and one endpoint (t3.storage.dev) with region auto for every location. 16 status incidents between 4 July and 2 October 2026, including outages in US regions on 31 July and 2 August.\n\n## Before you call either\n\n### OneDrive and SharePoint files (Microsoft Graph)\n\n1. Use PUT `/content` only up to 250 MB. Above 10 MiB Microsoft advises `createUploadSession`, with fragments in multiples of 320 KiB and under 60 MiB each\n2. Send the bearer token on the `createUploadSession` POST only. The PUT calls to `uploadUrl` can return 401 if an `Authorization` header is included\n3. Set `expirationDateTime` and `scope` on `createLink`. Without a scope the tenant's default link type is created, which may be wider than intended\n4. Follow the 302 from GET `/content` straight away. Pre-authenticated download URLs can expire within minutes and need no `Authorization` header\n5. Wait for `Retry-After` on 429 and 503. Throttled requests still count against the limits, and continued overuse can get the app blocked\n\n### Tigris\n\n1. Point the AWS SDK at https://t3.storage.dev with region `auto`; the stdio MCP README still shows the older fly.storage.tigris.dev endpoint\n2. Ask for an access key with a ReadOnly or ReadWrite role on one bucket rather than an org-wide key\n3. Keep presigned URLs short; Tigris accepts up to 90 days\n4. Don't call tigris_list_objects on a large bucket; it walks every object with no limit or prefix\n5. Use @tigrisdata/iam 2.6.0 or later before writing policies with conditions\n\n## Questions\n\n### Which is better for AI agents, OneDrive and SharePoint files (Microsoft Graph) or Tigris?\n\nOneDrive and SharePoint files (Microsoft Graph) scores 65.3 (B) on agent readiness against Tigris's 44.4 (E), and leads in 5 of 7 scored categories. Tigris leads on payments \u0026 pricing.\n\n### Do OneDrive and SharePoint files (Microsoft Graph) and Tigris need an API key?\n\nOneDrive and SharePoint files (Microsoft Graph) uses an OAuth sign-in. Tigris takes an API key or an OAuth sign-in.\n\n### Can an agent call OneDrive and SharePoint files (Microsoft Graph) and Tigris without installing anything?\n\nYes. OneDrive and SharePoint files (Microsoft Graph) has a hosted endpoint at https://graph.microsoft.com/v1.0 and Tigris at https://t3.storage.dev.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/onedrive-sharepoint-vs-tigris.json, and with the fewest tokens: https://www.anchorterminal.com/compare/onedrive-sharepoint-vs-tigris.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"onedrive-sharepoint\", \"b\": \"tigris\"}`. From a terminal: `anchor compare onedrive-sharepoint tigris`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/onedrive-sharepoint.json and https://www.anchorterminal.com/api/v1/tools/tigris.json\n\n## Other comparisons with OneDrive and SharePoint files (Microsoft Graph) or Tigris\n\n- [Amazon S3 vs OneDrive and SharePoint files (Microsoft Graph)](https://www.anchorterminal.com/compare/amazon-s3-vs-onedrive-sharepoint.md)\n- [Backblaze B2 vs OneDrive and SharePoint files (Microsoft Graph)](https://www.anchorterminal.com/compare/backblaze-b2-vs-onedrive-sharepoint.md)\n- [Box API + MCP vs Tigris](https://www.anchorterminal.com/compare/box-api-vs-tigris.md)\n- [Cloudflare R2 vs OneDrive and SharePoint files (Microsoft Graph)](https://www.anchorterminal.com/compare/cloudflare-r2-vs-onedrive-sharepoint.md)\n- [Dropbox API + MCP vs Tigris](https://www.anchorterminal.com/compare/dropbox-api-vs-tigris.md)\n- [Google Drive API + MCP vs Tigris](https://www.anchorterminal.com/compare/google-drive-api-vs-tigris.md)\n- [Amazon S3 vs Tigris](https://www.anchorterminal.com/compare/amazon-s3-vs-tigris.md)\n- [Azure Blob Storage vs Tigris](https://www.anchorterminal.com/compare/azure-blob-storage-vs-tigris.md)\n- [Backblaze B2 vs Tigris](https://www.anchorterminal.com/compare/backblaze-b2-vs-tigris.md)\n- [Bunny Storage vs Tigris](https://www.anchorterminal.com/compare/bunny-storage-vs-tigris.md)\n- [Cloudflare R2 vs Tigris](https://www.anchorterminal.com/compare/cloudflare-r2-vs-tigris.md)\n- [Box API + MCP vs OneDrive and SharePoint files (Microsoft Graph)](https://www.anchorterminal.com/compare/box-api-vs-onedrive-sharepoint.md)\n- [Dropbox API + MCP vs OneDrive and SharePoint files (Microsoft Graph)](https://www.anchorterminal.com/compare/dropbox-api-vs-onedrive-sharepoint.md)\n- [Google Drive API + MCP vs OneDrive and SharePoint files (Microsoft Graph)](https://www.anchorterminal.com/compare/google-drive-api-vs-onedrive-sharepoint.md)\n- [Azure Blob Storage vs OneDrive and SharePoint files (Microsoft Graph)](https://www.anchorterminal.com/compare/azure-blob-storage-vs-onedrive-sharepoint.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "OneDrive and SharePoint files (Microsoft Graph) vs Tigris",
        "url": ""
      }
    ],
    "description": "OneDrive and SharePoint files (Microsoft Graph) scores 65.3 (B) on agent readiness against Tigris's 44.4 (E), and leads in 5 of 7 scored categories. Tigris leads on payments \u0026 pricing. Both do storage share. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "OneDrive and SharePoint files (Microsoft Graph) B 65.3",
      "Tigris E 44.4",
      "scores"
    ],
    "h1": "OneDrive and SharePoint files (Microsoft Graph) vs Tigris",
    "image": "https://www.anchorterminal.com/assets/og/compare-onedrive-sharepoint-vs-tigris.png",
    "path": "/compare/onedrive-sharepoint-vs-tigris",
    "published": "2026-10-01",
    "section": "tools",
    "title": "OneDrive and SharePoint files (Microsoft Graph) vs Tigris",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/onedrive-sharepoint-vs-tigris"
  },
  "tokens": {
    "markdown": 2400,
    "slim": 730
  },
  "version": 1
}
