Beecargo MCP
OfficialThe Beecargo MCP server provides a comprehensive file hosting and sharing platform accessible via API. You can:
Upload files using public URLs, base64 content, or local paths (in stdio mode), with support for anonymous, free-tier, and Pro uploads. Background jobs and multi-file share links are supported.
Manage uploads: Check upload status, claim anonymous uploads, delete files (including force-deletion), create/list folders, and list owned files or run artifacts.
Share and protect files: Update share settings (visibility, direct download, retention, expiry, pricing), add unlock codes and handoff links for protected shares, and manage share access.
Download securely: Get signed download URLs that handle unlock codes, handoff tokens, and purchase claims.
Monetize: Create Stripe checkout links for Premium subscriptions, set prices on shares, create purchase links, and claim purchase tokens. Manage Stripe Connect for seller payouts (status, onboarding, login).
Register and manage API keys: Self-mint a free-tier agent API key via proof-of-work without manual login, and delegate uploads by minting short-lived credentials for workers.
Discover tools: Search available MCP tools by keyword.
Retrieve metadata: Batch lookup file info, including unlock requirements.
Provides tools for creating Stripe Checkout sessions for Premium subscriptions, generating payment links for priced shares, and managing Stripe Connect seller onboarding, login, and status.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Beecargo MCPUpload https://example.com/report.pdf and create a share link"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Beecargo MCP
Model Context Protocol server for the Beecargo file hosting API.
Portable marketplace packaging (Agent Plugins 1.0 + Cursor manifest) lives in ../agent-plugin.
Fastest path (agents)
Publish a durable share link with no human dashboard login:
Add hosted MCP with no headers:
https://mcp.beecargo.net/mcp(full tools; seeexamples/cursor-http.mcp.json). If/mcprequires auth, usehttps://mcp.beecargo.net/mcp/guestfor bootstrap-only tools.Call
beecargo_register_agent→ solves a short PoW, returns bootstrapbc_*(10GB / 100rpm; session adopts the key).Call
beecargo_uploadwith a public HTTPSurl→ hand offhttps://beecargo.net/d/{shortId}(always the full share URL). Multi-file handoff:openShare: trueon the first file, thenshareShortIdon later uploads (same link, one unlock).Optional:
beecargo_update_share_settingswithprotect: true(+handoffMessage) onfileIdor ShipmentshortId→ returnunlockCodeandhandoffUrl(/h/…) on a private channel.
For production agents (100GB included concurrent storage / 1000rpm / high remote/hr): mint a Pro-tier key via dashboard POST /api-keys/agent (Pro required) or operator POST /agent/api-keys.
Skip registration for ephemeral uploads: beecargo_upload works anonymously (stricter limits; save deletionToken).
Related MCP server: filesystem-mcp-server
Tools
Tool | Auth | Description |
| None | Self-mint bootstrap |
| Optional | URL, small base64, or local path (stdio); |
| Optional | Poll async URL upload jobs |
| None | Mint Premium Stripe checkout (recommended: 2-day trial then weekly) |
| Optional | Mint pay link for a priced share ( |
| None | After pay: |
| API key | Claim anonymous upload with |
| None | Keyword search over tools |
| API key | Visibility, |
| Dashboard key / OAuth | Seller Stripe Connect ( |
| API key | Create or list folders ( |
| None | Signed download URL ( |
| Optional | Metadata by short codes ( |
| Required | List owned files ( |
| Key or deletion token | Delete file |
Advanced
Tool | Auth | Description |
| API key | Mint a short-lived |
Detailed guides: upload, upload status, run artifacts, upload delegation, folders, share settings, seller payouts, and buy a priced share.
Stdio (local)
cd apps/mcp && pnpm build && pnpm startOptional: BEECARGO_API_KEY=bc_… in env. After beecargo_register_agent, the stdio session adopts the new key automatically.
See examples/cursor-stdio.mcp.json.
HTTP (hosted)
https://mcp.beecargo.net/mcp (full tools when authenticated). Guest bootstrap: https://mcp.beecargo.net/mcp/guest. See examples/cursor-http.mcp.json.
Existing key: examples/cursor-http-with-key.mcp.json.
Env: see .env.example. Highlights:
BEECARGO_API_URL: defaulthttps://api.beecargo.netBEECARGO_API_FETCH_TIMEOUT_MS: raise for large sync remotes (default guidance: 300000)BEECARGO_MCP_REQUIRE_AUTH: settrueto require transport bearer orbc_*on/mcp(default: open bootstrap, rate-limited)BEECARGO_MCP_BEARER_TOKEN: optional shared transport secret whenREQUIRE_AUTH=trueBEECARGO_MERCHANT_OAUTH_ENABLED: publish OAuth resource metadata and enable Connect with Beecargo (requires matchingINTERNAL_API_KEYon API + MCP)
Official MCP Registry
server.json is the Official MCP Registry manifest for io.github.Beecargo/mcp (schema 2025-12-11). The hosted remote is https://mcp.beecargo.net/mcp. Discovery copies also live at /.well-known/mcp/server.json on this host and on https://beecargo.net.
This file does not mean the server is already listed in the registry.
CLI (local scripts)
Use the dedicated package @beecargo/cli:
npx --yes github:Beecargo/cli upload ./artifact.zip --json
npx --yes github:Beecargo/cli remote https://example.com/file.bin --async --json
npx --yes github:Beecargo/cli share FILE_ID --price-cents 500 --key YOUR_BC_KEY
npx --yes github:Beecargo/cli download FILE_ID ./out.bin --purchase-token TOKENFrom the monorepo: pnpm cli upload ./artifact.zip. Publish flags (--ttl, --protect, …) match MCP beecargo_upload. share --price-cents / download --purchase-token match MCP share-settings and retrieve.
pnpm smoke:http # MCP transport (no API)
BEECARGO_API_URL=http://localhost:3001 pnpm smoke:api # live upload against APIParity with lomi MCP
lomi | Beecargo |
OpenAPI-generated tools | Hand-written file tools (smaller surface) |
|
|
Zero-header HTTP connect | Same (default); optional |
|
|
GET/POST/DELETE | Same |
| Same |
Retries + timeout on REST |
|
Tool results |
|
Publish
Scope is @beecargo. First publish is manual with --otp. After that, set Trusted Publisher on the npm package to GitHub Beecargo/mcp workflow publish.yml. Then bump the patch in package.json and push main.
pnpm typecheck && pnpm publish --access public --otp=XXXXXXAvailable Tools
15 toolsbeecargo_claim_fileClaim anonymous fileAInspect
Attach an anonymous upload to your API key using fileId and claimToken from upload response.
| Name | Required | Description | Default |
|---|---|---|---|
| fileId | Yes | File id from upload response (`data.id`), not a UUID | |
| claimToken | Yes | claimToken from upload response | |
| idempotencyKey | No | Optional Idempotency-Key for safe write retries |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=false, the description adds the meaningful outcome that the anonymous upload becomes attached to the API key, which is beyond just stating it's a write operation. It does not mention reversibility or auth requirements, but the added context is useful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that conveys the essential purpose and required inputs without any filler or redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and one annotation. The description explains the workflow context (after upload) and the parameters, making it sufficient for proper selection. It doesn't cover error cases or postconditions, but the simplicity of the tool doesn't require more.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all three parameters already described in detail. The description merely references fileId and claimToken from the upload response, adding no additional semantic meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Attach'), the object ('anonymous upload'), and the destination ('your API key'), distinguishing it from sibling tools like beecargo_upload or beecargo_delete_file. The verb 'Attach' is specific and not a tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly references 'from upload response,' indicating the tool should be used after an upload to claim the anonymous file. It doesn't explicitly exclude alternatives or state when not to use it, but the workflow context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beecargo_create_checkoutCreate Premium checkout linkAInspect
Mint a Stripe Checkout URL for a human to subscribe to Premium. Default plan=recommended: trial if the signed-in human still has the intro offer, otherwise weekly. Agent/guest sessions always get weekly (trial needs a real signed-in account). Prefer recommended; use weekly/monthly/annual only if the human asks. No API key required for guest mint — do not send session bc_* for guest checkout. Send the returned url to the human. After pay + claim at /checkout/complete, mint Pro bc_* via dashboard POST /api-keys/agent.
| Name | Required | Description | Default |
|---|---|---|---|
| plan | No | recommended = trial if eligible else weekly (default). weekly/monthly/annual only if the human asks. | recommended |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint=false annotation, the description reveals key behavioral nuances: default logic (trial if eligible else weekly), guest sessions always weekly, no API key required for guest, and a caution not to send session bc_* for guest. It also outlines the post-checkout workflow, giving a complete picture of expected behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized for the complexity. Every sentence adds value, from the core purpose to the detailed plan logic and follow-up action. It is front-loaded with the main purpose and progressively details nuances, with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the one optional parameter, no output schema, and minimal annotations, the description provides comprehensive context: it covers what the tool does, how to choose parameters, special cases (guest vs signed-in), security notes, and the required next steps. The tool is fully usable based on the description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
While the schema already describes the `plan` parameter with enum values and default, the description adds crucial meaning: the logic behind 'recommended' (trial if eligible else weekly), the condition 'only if the human asks' for non-recommended plans, and guest-specific behavior. This significantly enriches the parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool's function: 'Mint a Stripe Checkout URL for a human to subscribe to Premium.' The verb 'mint' is specific and the resource (Stripe Checkout URL for Premium) is clear, distinguishing it from sibling tools focused on file management.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit usage guidance: 'Prefer recommended; use weekly/monthly/annual only if the human asks' and clarifies guest vs signed-in behavior. It also explains when trial is applicable, giving a clear decision tree for plan selection. No alternative tool is mentioned, but this tool is unique among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beecargo_create_folderCreate folderAInspect
Create a folder under the authenticated API key.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| parentId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=false already signals a mutation, and the description confirms this by saying 'Create.' The description adds the authenticated key scope but does not disclose return behavior, parentId-related effects, or error conditions, which would be useful given the lack of an output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of about 9 words, front-loaded with the key verb and resource. There is no filler or redundant information; every word contributes to the meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple create operation with minimal annotations and no output schema, the description covers the core action. However, it omits important behavioral context such as what the tool returns, how parentId affects the creation location, and any prerequisites beyond authentication, leaving moderate gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate by explaining both parameters. The name parameter is implied by 'Create a folder,' but parentId semantics (e.g., whether null means root) are not addressed, leaving the agent to infer.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Create' and resource 'folder', clearly distinguishing it from sibling tools like beecargo_create_checkout and beecargo_upload. It also adds scope with 'under the authenticated API key,' making the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context that this tool creates a folder scoped to the authenticated API key, which is distinct from uploading files or creating checkouts. However, it does not explicitly state when not to use this tool or mention alternatives, so it falls short of a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beecargo_create_upload_delegationCreate upload delegationAInspect
Mint a short-lived direct-to-R2 upload for an owned/bootstrap/Pro API key. PUT bytes to uploadUrl, then POST completeUrl with delegationToken. No anonymous delegation.
| Name | Required | Description | Default |
|---|---|---|---|
| ttl | No | ||
| name | Yes | ||
| once | No | ||
| runId | No | ||
| folderId | No | ||
| immutable | No | ||
| sizeBytes | Yes | ||
| visibility | No | ||
| contentType | No | ||
| idempotencyKey | No | Optional Idempotency-Key for safe write retries | |
| upstreamFileIds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the readOnlyHint=false annotation. It reveals the storage backend (R2), the short-lived nature of the delegation, the required API key tier, and the exact sequence of operations (PUT then POST). This goes far beyond what annotations or schema provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences that cover the purpose, the protocol, and a key constraint. Every sentence is meaningful, with no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (11 parameters, no output schema), the description covers the core workflow but omits details about parameter meanings, return format, and edge cases. It is minimally viable but incomplete for a tool with this parameter count and sparse schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 9%, and the description does not explain any of the 11 input parameters. While it mentions uploadUrl and completeUrl, these are response fields, not request parameters. The description fails to compensate for the sparse schema, leaving the meaning of most parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Mint' and clearly identifies the resource as a 'short-lived direct-to-R2 upload'. It also outlines the two-step protocol (PUT to uploadUrl, POST to completeUrl) and explicitly states 'No anonymous delegation', distinguishing it from potential anonymous upload variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context by specifying the requirement for an 'owned/bootstrap/Pro API key' and states 'No anonymous delegation', which helps narrow when to use the tool. However, it does not explicitly name alternative tools like 'beecargo_upload' or mention when not to use this tool beyond the anonymous case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beecargo_delete_fileDelete fileADestructiveInspect
Delete by fileId. Use API key for owned files, or deletionToken for anonymous uploads.
| Name | Required | Description | Default |
|---|---|---|---|
| force | No | Required to delete immutable files or files with dependents | |
| fileId | Yes | File id from upload response (`data.id`), not a UUID | |
| deletionToken | No | ||
| idempotencyKey | No | Optional Idempotency-Key for safe write retries |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The destructiveHint annotation already signals the operation is destructive. The description adds value by revealing authentication requirements (API key vs deletionToken), which is not covered by annotations. It doesn't detail permanent effects, but the annotation covers the core risk.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-load the action and identifier, with no wasted words. Each clause earns its place, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a destructive tool: it covers the core deletion action and auth variants. It omits the force requirement, but that is documented in the schema. No output schema is present, so no return-value explanation is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, leaving deletionToken undocumented. The description clarifies deletionToken's purpose ('for anonymous uploads'), adding meaning beyond the schema. Other parameters (force, idempotencyKey) are well-described in the schema, so the description compensates for the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Delete'), the resource ('fileId'), and the method of identification, distinguishing it from sibling tools like upload or list. It is specific and unambiguous, not merely repeating the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives practical auth context: 'Use API key for owned files, or deletionToken for anonymous uploads.' However, it doesn't explicitly say when to use this tool vs alternatives, nor mention the force parameter requirement for immutable files, which is only in the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beecargo_file_infoFile info by short codesARead-onlyInspect
Batch metadata lookup by comma-separated shortCodes. Check unlockRequired on each result before calling beecargo_get_download_url.
| Name | Required | Description | Default |
|---|---|---|---|
| fileCodes | Yes | Comma-separated short codes, e.g. abc12,xyz99 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds a useful behavioral detail: the result set includes an unlockRequired field that must be checked prior to download. This goes beyond the structured data and provides contextual behavior, though it doesn't describe full return shape or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences: the first states the core function and scope, the second provides a critical dependency hint. Every word earns its place, and the description is front-loaded with the primary purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter), no output schema, and readOnly annotation, the description covers the essential context: batch operation, metadata lookup, and a prerequisite check. It could list more metadata fields, but for this complexity level it is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: the single parameter fileCodes is fully described in the schema ('Comma-separated short codes, e.g. abc12,xyz99'). The description repeats the same info without adding new semantic depth, so it meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('lookup') and resource ('metadata by short codes'), and the batch scope distinguishes it from siblings like beecargo_list_files (which lists all files) and beecargo_get_download_url (which retrieves a URL). The purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit usage directive: check unlockRequired on each result before calling beecargo_get_download_url. This provides clear context and a workflow hint, though it doesn't explicitly exclude other alternatives or mention when not to use the tool. Still, the guidance is actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beecargo_get_download_urlGet download URLARead-onlyInspect
Get a signed download URL for a file by fileId. If share meta or file_info reports unlockRequired, you must pass unlockCode, unlockToken, or handoffToken.
| Name | Required | Description | Default |
|---|---|---|---|
| fileId | Yes | File id from upload response (`data.id`), not a UUID | |
| unlockCode | No | Required when the share has unlock protection enabled | |
| unlockToken | No | Short-lived token from POST /downloads/unlock | |
| handoffToken | No | Delivery link token from /h/… (alternative to unlockCode) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already indicates a safe read operation. The description adds value beyond the annotation by disclosing the conditional requirement for unlockCode/unlockToken/handoffToken, which is a behavioral trait not captured anywhere else. No contradiction with the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main action, and every sentence contributes meaning. There is no fluff or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, the schema covers all parameters, and the readOnly annotation covers the safety profile, the description is sufficient. It explains the core function and the important unlock condition. No output schema exists, but the return value (a signed URL) is clear from the action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% descriptive coverage for all four parameters. The description adds extra meaning by explaining that the three unlock-related parameters are alternatives and must be passed conditionally when unlockRequired is reported, which is not fully explicit in the individual parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' and identifies the resource ('a signed download URL for a file by fileId'). It clearly distinguishes the tool from siblings like beecargo_file_info (which would give info) and beecargo_upload (which uploads). The scope is well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear condition for when to pass unlock codes/tokens (if unlockRequired is reported), which is helpful usage guidance. However, it does not explicitly name alternative tools or state when not to use this tool, so it stops short of a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beecargo_list_filesList owned filesARead-onlyInspect
List files for the authenticated API key. Set includeFolders true to also return sibling folders.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| folderId | No | ||
| includeFolders | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already declares this as a safe read operation. The description adds context about API key scoping and the includeFolders behavior. However, it states 'Set includeFolders true to also return sibling folders' while the schema has a default of true, creating a minor inconsistency. It does not disclose pagination or other behaviors beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, with the core purpose in the first sentence. The second sentence adds parameter information, but it is slightly misleading given the schema default, which prevents a perfect score. Overall, it is well-structured and avoids waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema and four optional parameters, the description only covers the main purpose and one parameter. It fails to explain pagination (page, limit), filtering by folderId, or any details about the returned file list. This is insufficient for an agent to fully understand the tool's behavior without additional inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate for the four parameters. It only explains includeFolders, leaving page, limit, and folderId without any added meaning. The partial explanation of one parameter is insufficient for a low-coverage schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action ('List files') and the resource scope ('for the authenticated API key'), distinguishing it from sibling tools like beecargo_list_folders. The title 'List owned files' reinforces the purpose. It is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: it lists files for the authenticated API key, implying its use for file listing tasks. It does not explicitly mention alternatives or exclusions, but the scope is obvious given sibling tools like beecargo_list_folders and beecargo_file_info. No misleading guidance is present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beecargo_list_foldersList foldersCRead-onlyInspect
List folders for the authenticated API key.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| search | No | ||
| parentId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral details beyond the readOnlyHint annotation. It only mentions that listing is for the authenticated API key, which is standard. There is no disclosure of pagination behavior, whether only top-level folders are listed, or how access is scoped.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no fluff, which is concise. However, it is under-specified and does not convey the necessary details about parameters or usage, making it less useful than it could be while remaining efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has four optional parameters and no output schema, the description is far from complete. It does not explain return values, filtering capabilities, or pagination behavior. The context from sibling tools is not leveraged to clarify what makes this tool unique. A more detailed description is needed for safe and correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, and the description does not explain any of the four parameters (page, limit, search, parentId). Since the description entirely fails to clarify what these parameters do or how they affect results, it cannot compensate for the schema's lack of information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list) and resource (folders), and scopes it to the authenticated API key. It distinguishes from sibling tools like beecargo_list_files by focusing on folders rather than files.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention related tools like beecargo_create_folder or beecargo_list_files, nor does it describe scenarios or exclusions. The only implied usage is the basic purpose of listing folders.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beecargo_register_agentRegister agent API keyAInspect
Create a bootstrap bc_* machine key (files_write, free-tier quotas). No API key required. Rate-limited per IP. For production agents with 500GB included concurrent storage/1000rpm, mint via Pro dashboard POST /api-keys/agent. After success, this MCP session adopts the key.
| Name | Required | Description | Default |
|---|---|---|---|
| label | No | Optional key label |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation only sets readOnlyHint=false, but the description adds substantial behavioral context: no API key required, rate-limited per IP, and that the MCP session adopts the key after success. These are significant operational details not present in the annotation, and there is no contradiction with the mutation hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact yet information-dense: it covers purpose, constraints, production alternative, and post-condition in four short sentences. Every sentence provides essential value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, no output schema, minimal annotations), the description is remarkably complete. It explains the key scope, implicit prerequisites, rate limits, post-success behavior, and when to use an alternative, answering likely agent questions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of the single optional 'label' parameter, including its own description. The tool description does not add any extra meaning about the label parameter beyond what the schema already provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action and resource: 'Create a bootstrap bc_* machine key' with purpose 'files_write, free-tier quotas'. It also distinguishes itself from production API key creation by referencing the Pro dashboard alternative, making it unique among sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use this tool (bootstrapping, no API key required) and when not to use it, providing an explicit alternative: 'For production agents with 500GB included concurrent storage/1000rpm, mint via Pro dashboard POST /api-keys/agent.' This is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beecargo_run_artifactsRun artifacts manifestARead-onlyInspect
List files uploaded with the same runId on your account.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| runId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint: true already indicates a safe read operation. The description adds the scope 'on your account' and the grouping by runId, which is useful context. However, it does not disclose pagination behavior or return format, leaving some transparency gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, coherent sentence that front-loads the verb and object. It contains no extraneous information and is easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the readOnlyHint annotation, the description is minimally adequate. It does not mention the limit parameter or what the response will contain, but the absence of an output schema and the straightforward nature of the operation keep this from being a critical gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains the meaning of runId ('the same runId') but provides no additional detail about the limit parameter, which the schema only defines with default/max/min. This is partial compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb (List) and resource (files), scoped by runId. This distinguishes it from sibling tools like beecargo_list_files, which likely list files without run filtering.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you need to retrieve files associated with a specific runId, but it does not explicitly mention when to use it versus other listing tools or provide exclusion criteria. The context is clear but not fully elaborated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beecargo_search_toolsSearch Beecargo MCP toolsBRead-onlyInspect
Keyword search over available Beecargo tools (similar to lomi_search_tools).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=true already covers the safe read-only nature. The description adds no additional behavioral context such as result format, query behavior, or limits, providing no value beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence that conveys the core purpose without unnecessary words. It efficiently earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
As a simple search tool with two parameters and no output schema, the description gives a basic understanding but omits return value details, pagination behavior, and result ordering. It is adequate but has gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% with no parameter descriptions. The description hints that 'query' is the search term but does not explain the 'limit' parameter, defaults, or their interaction, failing to compensate for schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Keyword search over available Beecargo tools' which clearly identifies the action and resource. It differentiates itself from sibling tools by positioning as a meta-search utility rather than a domain operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal usage guidance, only mentioning similarity to lomi_search_tools. It implies usage for finding tools but does not explicitly state when to use this vs alternatives or provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beecargo_uploadUpload a fileAInspect
One upload tool: public url (sync or background job), contentBase64 (small), or path on stdio (auto multipart). Anonymous, free, and Pro limits match the API. Returns share link and fileId.
| Name | Required | Description | Default |
|---|---|---|---|
| ttl | No | Expiry preset: 1h, 24h, 7d | |
| url | No | Public HTTPS URL (Beecargo fetches server-side) | |
| once | No | ||
| path | No | Local file path (stdio MCP only; auto direct/multipart) | |
| step | No | ||
| grace | No | ||
| runId | No | ||
| direct | No | ||
| intent | No | ||
| protect | No | ||
| consumer | No | ||
| fileName | No | Required with contentBase64 | |
| folderId | No | Owned folder (authenticated) | |
| expiresAt | No | ||
| retention | No | ||
| background | No | Use async remote job (large/slow URLs); poll with beecargo_upload_status | |
| visibility | No | ||
| contentType | No | application/octet-stream | |
| waitSeconds | No | When background is true, optionally wait up to N seconds for completion | |
| maxDownloads | No | ||
| contentBase64 | No | Small file inline (under 4MB) | |
| handoffMessage | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint=false annotation, the description adds meaningful context: anonymous use, free/Pro limits, background job support, and the return of a share link and fileId. It doesn't mention auth prerequisites or default retention, but it still extends beyond the sparse annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the core modes, but 'Anonymous, free, and Pro limits match the API' is vague and adds less value than a concrete expiration or size limit would. Overall it's efficient with minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 22 parameters, no output schema, and minimal annotations, this short description is not enough to guide advanced usage like folderId, maxDownloads, retention, or visibility. It covers common upload cases but leaves substantial configuration behavior undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 36%, and the description only explains url, contentBase64, and path, leaving fields like ttl, retention, visibility, once, protect, maxDownloads, and grace unexplained. This does not compensate for the low parameter coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a single upload tool with a specific verb and resource: 'Upload a file', detailing three input modes (public URL, contentBase64, stdio path). It distinguishes itself from siblings like beecargo_upload_status and beecargo_get_download_url.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use each mode based on file source/size: public URL (sync or background), small contentBase64, and stdio path with auto multipart. It doesn't compare with sibling alternatives, but the 'One upload tool' framing plus the background polling hint gives adequate usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beecargo_upload_statusBackground upload statusARead-onlyInspect
Poll an async URL upload job from beecargo_upload (background: true). Returns sharePath when completed.
| Name | Required | Description | Default |
|---|---|---|---|
| jobId | Yes | ||
| jobSecret | No | Secret from beecargo_upload when background is true | |
| waitSeconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already declares the operation safe, and the description adds meaningful context: it returns sharePath when completed, clarifying the async nature and expected outcome. It does not detail intermediate states or errors, but this additional context goes beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the action and key return value. Every word earns its place, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose and return condition but omits behavior for incomplete jobs, optional parameter usage, and how the required jobId is obtained. For a simple poll tool with no output schema, these gaps affect completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, with jobId and waitSeconds lacking any description. The description does not explain these parameters, nor does it mention waitSeconds semantics or how to obtain jobId, failing to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool polls an async URL upload job from beecargo_upload with background: true, identifying the specific verb, resource, and condition. It distinguishes itself from sibling tools like beecargo_upload by referencing the companion and the returned sharePath.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage after beecargo_upload with background: true, giving clear context for when to use this poll tool. It does not explicitly list exclusions or alternatives, but the reference to the sibling tool provides adequate guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
15 tool updates
v0.1.0- First observed
beecargo_claim_file - First observed
beecargo_create_checkout - First observed
beecargo_create_folder - First observed
beecargo_create_upload_delegation - First observed
beecargo_delete_file - First observed
beecargo_file_info - First observed
beecargo_get_download_url - First observed
beecargo_list_files - First observed
beecargo_list_folders - First observed
beecargo_register_agent - First observed
beecargo_run_artifacts - First observed
beecargo_search_tools - First observed
beecargo_update_share_settings - First observed
beecargo_upload - First observed
beecargo_upload_status
TDQS
Scored across 15 tools
Each tool targets a distinct resource/action: upload, download, delete, metadata, folders, delegation, claim, checkout, registration, and tool search. Some overlap exists between upload and delegation, and between list_files and run_artifacts, but descriptions clarify the differences.
Most tools follow a beecargo_verb_noun structure (list_files, create_folder, delete_file). However, 'beecargo_upload' is verb-only, and 'beecargo_file_info' and 'beecargo_upload_status' use noun_noun patterns, breaking full consistency.
15 tools is at the upper end of the ideal range and each covers a distinct aspect of the file lifecycle, account management, and monetization. No redundant or trivial tools.
The tool set covers upload (sync/async, delegation), download, metadata, sharing settings, deletion, listing, folders, claim, agent registration, and checkout. Minor gaps include no folder deletion, no file search, and no update/move file operations, but these are not essential for the primary workflow.
Maintenance
Related MCP Connectors
Persistent file storage for AI agents via MCP and curl. Upload, download, and version files.
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
File uploads for AI agents. Upload, list, and manage files. No signup required.
Upload any file, get a tracked shareable link. DocSend for AI agents.
Related MCP Servers
- AlicenseAqualityFmaintenanceA Model Context Protocol server that provides secure and intelligent interaction with files and filesystems, offering smart context management and token-efficient operations for working with large files and complex directory structures.2167MIT
- AlicenseAqualityFmaintenanceA Model Context Protocol server that provides AI agents with secure access to local filesystem operations, enabling reading, writing, and managing files through a standardized interface.1032 npm51Apache 2.0
- AlicenseBqualityCmaintenanceAn implementation of the Model Context Protocol that allows AI models to interact with 360 AI Cloud Drive, providing comprehensive file management capabilities including uploading, downloading, searching, and sharing files.1161 npm5Apache 2.0
- FlicenseNot gradedqualityCmaintenanceA secure Model Context Protocol server providing HTTP endpoints for AI agent tool execution, including file system operations, shell commands, and LLM-based code generation.1-