BulkPublish

io.github.azeemkafridi由 GitHub 帳號 azeemkafridi 發布v1.42.0更新於 Oct 27, 2026

Schedule, cross-post, and analyze social media posts across 15 platforms from AI agents.

發布方自己的服務:Publish.fun

已驗證Streamable HTTP可網頁執行溝通與協作資料與分析商業與電商

概覽

AI 產生的概覽

BulkPublish 讓 AI 助理透過 BulkPublish 發佈 API,在 15 個平台上排程、跨平台發佈並分析社群媒體內容。

可以做什麼
  • 建立、修改、排程、發佈、重試、核准、退回和刪除貼文,支援限時動態、輪播、串文和批次操作
  • 列出已連結頻道、檢查頻道權杖健康狀態、讀取平台選項並管理頻道群組
  • 上傳與管理媒體(含大檔案影片分段上傳)、標籤和主題標籤組
  • 讀取互動指標與分析摘要,並開啟互動式儀表板和貼文編輯器
  • 管理循環排程、RSS 自動發佈來源、範本、行事曆備註以及審閱連結和客戶連結連結
  • 使用 inbox 設定時,可讀取對話與留言、回覆並管理留言
適用情境
適合讓助理在多個已連結帳號上草擬、排程或發佈社群內容、彙報貼文成效,或整理留言與私訊,而不必切換到 BulkPublish 網頁版。
執行需求
需要 BulkPublish 帳號與 API 金鑰,透過環境變數 BULKPUBLISH_API_KEY 提供(以 bp_ 開頭)。本機執行需 Node 20.19 以上版本,可用 npx 或全域 npm 安裝;也可使用託管 HTTP 端點。選用的 BULKPUBLISH_TOOL_PROFILE 可選擇 core、inbox 或 full 工具集。託管伺服器支援 OAuth。
安裝前請注意
此 API 金鑰可存取整個工作區,請勿放入共用設定;託管伺服器還允許透過連線網址或 Authorization 標頭傳入金鑰。許多工具會發佈、送出回覆、管理或刪除內容,部分操作無法復原。RSS 來源可自動發佈,循環排程也會自行發文。貼文內容與媒體會傳送到所連結的社群平台。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 BulkPublish,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.azeemkafridi%2Fbulkpublish/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

{
  "mcpServers": {
    "bulkpublish": {
      "type": "http",
      "url": "https://mcp.bulkpublish.com/mcp"
    }
  }
}

README

BulkPublish MCP Server

A Model Context Protocol server that lets Claude and other AI assistants interact with the BulkPublish social media publishing API.

What it does

This MCP server exposes BulkPublish API operations as tools that AI assistants can call directly. You can ask Claude to schedule posts, check analytics, upload media, manage labels, and more — all through natural conversation.

Installation

Option 1: npx (recommended)

bash
npx @bulkpublish/mcp-server

Option 2: Global install

bash
npm install -g @bulkpublish/mcp-serverbulkpublish-mcp

Option 3: From source

bash
git clone https://github.com/azeemkafridi/bulkpublish-api.gitcd bulkpublish-api/mcp-servernpm installnpm run buildnode dist/index.js

Requires Node ≥ 20.19. npm run build bundles the composer UI with Vite (build:ui), then compiles the server with tsc.

Configuration

Set your API key as an environment variable:

bash
export BULKPUBLISH_API_KEY=bp_your_api_key_here

Get your API key at app.bulkpublish.com/developer.

Claude Desktop

Add this to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

json
{  "mcpServers": {    "bulkpublish": {      "command": "npx",      "args": ["-y", "@bulkpublish/mcp-server"],      "env": {        "BULKPUBLISH_API_KEY": "bp_your_api_key_here"      }    }  }}

If you installed from source:

json
{  "mcpServers": {    "bulkpublish": {      "command": "node",      "args": ["/absolute/path/to/bulkpublish-api/mcp-server/dist/index.js"],      "env": {        "BULKPUBLISH_API_KEY": "bp_your_api_key_here"      }    }  }}

Claude Code

Add the MCP server to your Claude Code configuration:

bash
claude mcp add bulkpublish -- npx -y @bulkpublish/mcp-server

Set the environment variable in your shell profile or .env file:

bash
export BULKPUBLISH_API_KEY=bp_your_api_key_here

Remote / hosted server (HTTP)

The npx/stdio setup above runs the server locally. Web clients that cannot spawn a local process — claude.ai custom connectors and Smithery's gateway — connect to a hosted HTTP endpoint instead. Alongside the stdio bin, the server ships a Streamable HTTP transport (dist/http.js, run with npm run start:http):

EndpointPurpose
POST /mcpMCP Streamable HTTP (stateless)
GET /.well-known/mcp/server-card.jsonStatic metadata so registries can skip scanning
GET /healthLiveness check

It is multi-tenant — the process holds no API key. Each caller supplies their own bp_… key per request via the connection URL (?key=bp_…), a Smithery ?config= blob, or an Authorization: Bearer bp_… / X-BulkPublish-Key header. initialize, tools/list, and resources/* need no key (so scans and tool discovery work); a tools/call without one returns 401.

A Dockerfile is included:

bash
docker build -t bulkpublish-mcp . && docker run -p 8080:8080 bulkpublish-mcp

Once deployed, add it to claude.ai → Settings → Connectors → Add custom connector as https://<host>/mcp?key=bp_…, or publish the https://<host>/mcp URL to Smithery.

Auto-connect for organizations

The hosted server at https://mcp.bulkpublish.com/mcp supports enterprise-managed authorization (the MCP io.modelcontextprotocol/enterprise-managed-authorization extension). An organization on Claude Team or Enterprise can connect every member to BulkPublish at once, with no sign-in screen and no pasted API key: the workspace owner trusts the organization's issuer (its Claude organization, or its identity provider) under API → MCP Auto-connect in BulkPublish, and members are matched to the workspace by their verified email address. In Claude, an organization Owner sets it up under Organization settings → Connectors → Set up auto-connect.

For client developers: the token endpoint accepts grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer with an identity assertion, from a public client identified by a Client ID Metadata Document (an https client_id). Access tokens from this grant last up to an hour and carry no refresh token. Dynamic client registration and the authorization-code flow are unchanged.

Tool profiles

The server ships three tool profiles, chosen with BULKPUBLISH_TOOL_PROFILE:

ProfileToolsDefault for
core26 — channels, posts, media, analytics, labels, approvals, post comments, channel sync settings, and the interactive panelsThe hosted HTTP server (dist/http.js), which is what the Claude and ChatGPT directories list
inbox32 — everything in core, plus the Inbox and comment-reply tools: list_conversations, get_conversation, reply_to_conversation, update_conversation, reply_to_comment, moderate_commentOpt-in on a hosted deployment (BULKPUBLISH_TOOL_PROFILE=inbox). The core tools in it are identical to the core profile's
fullEvery tool (including the Inbox and comment tools; label management, hashtag groups, templates, calendar notes, review links, client-connect links, recurring schedules, channel sets, RSS feeds, chunked uploads, quota)The local stdio server (npx @bulkpublish/mcp-server)

Set BULKPUBLISH_TOOL_PROFILE=full on a hosted deployment to expose everything, or core locally to keep a small tool list. The panels' buttons call back into create_post, publish_post, retry_post, update_post, delete_post, list_channels, list_media, get_post, create_media_upload and finalize_media_upload, so all of those are in core.

Every tool carries a title and explicit readOnlyHint, destructiveHint, idempotentHint and openWorldHint booleans; npm run check:annotations verifies that for every profile (add --table to print the per-tool justification table used in directory submissions).

Available Tools

Tools marked ★ are in the core profile (see Tool profiles); tools marked ✉ are in inbox (with every ★ tool); the rest need full.

ToolDescription
Posts
create_post ★Create and optionally schedule a post (supports reels, stories, carousels, threads via postTypeOverrides)
compose_post ★Open an interactive composer UI (MCP Apps) to draft/schedule a post; submits via create_post
update_post ★Update a draft or scheduled post: content, timing, media, labels, the full channel list (add or drop channels), per-platform text, thread parts, assignee and recurring schedule
get_post ★Get a single post with full details
list_posts ★List posts with filters (status, search, date range, labels, recurring)
delete_post ★Delete a post
publish_post ★Publish a draft post immediately
retry_post ★Retry a failed post
approve_post ★Approve a post awaiting team approval (roles with post:approve)
reject_post ★Reject a pending post back to draft, with an optional reason
get_post_metrics ★Get engagement metrics (impressions, likes, comments, shares). Each platform entry carries supportedMetrics — a key not in that list is a stored 0, not a measurement
publish_storyPublish as a story to Facebook or Instagram
bulk_postsBulk delete, retry or reschedule up to 100 posts
get_queue_slot ★Get the next optimal time slot for a channel
Channels
list_channels ★List all connected social media channels
get_channel_healthCheck channel token health
get_channel_options ★Get platform-specific options (boards, playlists)
update_channel ★Turn an X channel's analytics sync or DM/reply reading on or off
search_mentionsSearch users for @mention (X, Bluesky, Mastodon, LinkedIn Pages — LinkedIn results carry the vanityName slug they matched on)
Channel Sets
list_channel_setsList saved channel groups for one-click multi-channel targeting
create_channel_setSave a named group of channels (max 50 per org, names unique per org)
update_channel_setRename a set or change its channels
delete_channel_setDelete a channel set
RSS Autopost
list_rss_feedsList RSS/Atom feeds polled every 15 minutes (new items become posts)
create_rss_feedAdd a feed (max 20 per org); mode = draft (default, items become drafts) or publish (auto-published); optional fieldMapping controls how items render (caption template, media pick, truncation, per-channel overrides)
update_rss_feedChange, pause, or re-point a feed (changing feedUrl re-baselines it — the backlog is not flooded)
delete_rss_feedStop and remove a feed
Media
upload_media ★Upload a media file from a URL (or local path on the stdio server)
get_mediaGet a media file by ID
list_media ★List uploaded media files
delete_mediaDelete a media file
create_media_upload ★Reserve a presigned R2 URL for a direct browser upload (used by the composer)
finalize_media_upload ★Record an uploaded object as a media file after the browser PUT (used by the composer)
create_multipart_uploadStart a chunked upload for large media (videos up to 1GB) — presigned URLs for fixed 10MB parts
complete_multipart_uploadAssemble the uploaded parts (partNumber + ETag each) and record the media file
abort_multipart_uploadCancel an in-progress chunked upload and free its stored parts
Labels
create_labelCreate a new label
list_labels ★List all labels
update_labelUpdate a label name or color
delete_labelDelete a label
Analytics
get_analytics ★Get analytics summary for a date range
Schedules
list_schedulesList recurring schedules
create_scheduleCreate a recurring schedule
update_scheduleUpdate a schedule
delete_scheduleDelete a schedule
Inbox and comments
list_conversations ✉List direct messages, reviews and comment threads, newest activity first, with filters and paging (Pro and Business plans)
get_conversation ✉Read one conversation's messages, oldest first; does not mark it read
reply_to_conversation ✉Send a reply to the person on the platform right away; it cannot be unsent
update_conversation ✉Mark read or unread, archive or reopen, snooze, or assign a conversation; nothing is sent
list_post_comments ★List the comments and reactions on a published post, per channel, with the ids the reply and moderate tools take
reply_to_comment ✉Post a public reply to a comment right away, as the channel the post went out on
moderate_comment ✉Like, unlike, hide, unhide or delete a comment on the platform (delete is permanent)
Account
get_quota_usageCheck current account usage (hidden when BULKPUBLISH_HIDE_BILLING=1)
Interactive UI (MCP Apps)
compose_post ★Open the interactive post composer (also listed above)
view_analytics ★Open an interactive analytics dashboard
view_posts ★Open an interactive posts list
view_channels ★Open an interactive channels view
view_media ★Open an interactive media gallery
view_quotaOpen an interactive account-usage view (hidden when BULKPUBLISH_HIDE_BILLING=1)

Interactive UI (MCP Apps)

In hosts that support MCP Apps — Claude, ChatGPT, VS Code, Goose, Postman, and the Smithery playground — the compose_post tool opens an interactive composer rendered inline in the conversation: pick channels, write content, optionally schedule, then submit. On submit it calls create_post through the host bridge, so the sandboxed iframe never holds your API key. Hosts without MCP Apps support simply receive a plain-text summary, so nothing breaks.

Several tools render UIs — compose_post (composer), view_analytics, view_posts, view_channels, view_media, and view_quota. Each is a self-contained widget under src/ui/<name>/, bundled into a single HTML file with Vite (one single-input pass per widget — see scripts/build-ui.mjs) and inlined into the server via src/ui/widgets.generated.ts. They share the BulkPublish web app's design tokens (src/ui/tokens.css), so the look matches. A View receives its data from the triggering tool's structuredContent and can call other tools back through the host bridge — so the sandboxed iframe never holds your API key. Hosts without MCP Apps support simply receive a plain-text summary.

Prompts

The server also lists ready-made prompts: starting points your MCP client shows in its prompt or slash menu (for example /schedule_post or /weekly_report). Each one tells the assistant which tools to call, the limits that apply, and to ask before anything is published, sent or deleted.

A prompt is listed only when every tool it needs is available, so what you see depends on the tool profile: all means every profile, including the hosted core server; inbox, full needs the inbox or full profile; full needs the full profile (the npm server's default). plan_usage is also left out when BULKPUBLISH_HIDE_BILLING=1. Prompts read nothing from your account until the assistant follows them.

PromptWhat it doesProfiles
getting_startedA quick tour: which accounts are connected, what is scheduled next, and what was published recently.all
check_channel_connectionsFind accounts that are disconnected, need reconnecting, or have expiring access.all
platform_availabilityList every supported platform and whether it can be connected and posted to right now.full
plan_usageHow much of the plan's posts, channels and storage are used.full
draft_postWrite a post from an idea and save it as a draft on the accounts you choose. Nothing is published.all
schedule_postWrite and schedule a post for a specific time, or the next free slot in your queue.all
publish_nowWrite a post and publish it immediately, after you confirm.all
add_to_queueSchedule a post into your next free queue slot, or at the very end of the queue.all
compose_in_editorOpen the interactive composer, pre-filled with your text, to pick accounts and media yourself.all
cross_post_adaptedOne message rewritten to fit each platform's length, tone and format, in a single post.all
write_threadTurn an idea or article into a multi-part thread for X, Threads, Bluesky or Mastodon.all
post_with_mediaUpload images or a video and attach them to a new post.all
reuse_library_mediaFind a file already in your media library and build a post around it.all
video_postPost one video as a YouTube video or Short, TikTok, Instagram Reel, Facebook Reel and more, with the right settings for each.all
carousel_postA multi-image post: Instagram, Facebook or Threads carousel, Pinterest carousel, LinkedIn multi-image, TikTok photo slideshow.all
poll_postPost a native poll on X, LinkedIn, Threads, Mastodon, Discord or Telegram.all
repost_or_quoteRepost or quote an existing post on X, Bluesky, Threads or Mastodon, reshare on LinkedIn, or reblog on Tumblr.all
story_postPost an image or short video as an Instagram, Facebook or Snapchat story.all
repeating_postA post that re-publishes daily, weekly, every two weeks or monthly (evergreen content, reminders).all
auto_engagement_boostPost a follow-up comment, or repost automatically, once a post reaches a number of likes.all
tracked_links_postShorten the links in a post and count their clicks, or force links to publish as written.all
submit_for_approvalSchedule a post that waits for a teammate to approve it before publishing.all
upcoming_postsEverything going out in a date range, soonest first, with gaps and clashes flagged.all
find_postSearch posts by text, status, account, label or date.all
edit_postChange a draft, scheduled, failed or partial post: text, time, media, accounts or labels.all
reschedule_postMove a post to a new time, or to the top or bottom of the queue.all
change_post_accountsAdd accounts to a post or drop some, keeping the rest as they are.all
unschedule_postTake a scheduled post off the calendar and keep it as a draft.all
delete_postsClean up drafts and failed posts you no longer need.all
fix_failed_postsFind posts that failed or partly failed, explain why, and retry the right ones safely.all
posts_dashboardAn interactive list of posts with status, schedule and accounts.all
my_assigned_postsPosts a teammate has handed to you, and what each one needs.all
posts_by_labelList posts carrying one or more labels, e.g. one campaign.all
approval_queueGo through posts waiting for approval and approve or reject each one.all
resubmit_rejectedRead why posts were rejected, revise them, and send them back for approval.all
performance_reportPosting activity and results over a date range, optionally compared with the period before.all
weekly_reportThe last 7 days compared with the 7 before, with highlights.all
post_performanceLikes, comments, shares, views and link clicks for one post, per platform.all
top_postsRank recent published posts by engagement.all
platform_comparisonWhich networks get the most out of your posting.all
content_type_analysisCompare text-only, image and video posts, and single posts against threads.all
campaign_reportResults for the posts carrying a campaign label.all
link_click_reportClicks on the tracked short links in your recent posts.all
analytics_dashboardInteractive charts for a date range.all
x_sync_settingsChoose whether BulkPublish reads analytics, likers, messages and replies for an X account.all
read_post_commentsWho commented and reacted on one of your published posts, per platform.all
reply_to_commentsDraft replies to comments on a published post and post the ones you approve.inbox, full
moderate_commentsFind spam or abusive comments on a post and hide, delete or like them.inbox, full
inbox_triageSort unread messages, reviews and comment threads by urgency, and tidy them up.inbox, full
reply_to_messagesDraft replies to unanswered direct messages and send the ones you approve.inbox, full
respond_to_reviewsDraft thoughtful responses to customer reviews and post the ones you approve.inbox, full
inbox_searchFind conversations by a person's name, handle or words in the messages.inbox, full
upload_filesAdd images, videos or documents to your media library for later posts.all
large_video_uploadUpload a video over 100MB (up to 1GB) in 10MB chunks. Needs a client that can send HTTP requests itself.full
media_library_browseOpen an interactive gallery of your uploaded media.all
alt_text_auditFind images without alt text and write descriptions for them.full
media_cleanupFind files you no longer need and delete them, without breaking scheduled posts.full
manage_labelsCreate, rename, recolour or delete the labels you tag posts and media with.full
hashtag_groupsResearch and save reusable hashtag sets, or add a saved set to a post.full
caption_templatesSave reusable caption and first-comment text, or start a post from a saved template.full
calendar_notesPin campaigns, holidays and blackout days to the calendar. Notes never publish.full
channel_setsSave named groups of accounts (e.g. 'All brand accounts', 'Client A') for quick targeting.full
plan_content_weekA full week of posts across your accounts, saved as drafts or scheduled.all
plan_campaignA multi-week campaign: teaser, launch and follow-up posts, labelled so you can report on it.all
repurpose_contentTurn an article, video script or newsletter into a set of posts and threads.all
recurring_scheduleA rule that creates and publishes a post on a fixed cadence (tips, weekly roundups).full
manage_schedulesSee every recurring schedule, then pause, change or delete them.full
rss_autopostTurn new blog or news items into posts automatically, as drafts or published.full
rss_feed_troubleshootCheck every RSS feed for errors, and pause, re-point or remove them.full
client_review_linkA link a client can open without an account to review one post or a whole batch.full
revoke_review_linksStop old review links from working.full
client_connect_linkA one-time link a client opens to connect their own social account, without sharing a password or needing a BulkPublish account.full
client_onboardingConnect link, account group, label and a first batch of draft posts for a new client.full
post_to_facebookWrite and schedule a post for Facebook, with its post types, settings and limits.all
post_to_instagramWrite and schedule a post for Instagram, with its post types, settings and limits.all
post_to_xWrite and schedule a post for X, with its post types, settings and limits.all
post_to_tiktokWrite and schedule a post for TikTok, with its post types, settings and limits.all
post_to_youtubeWrite and schedule a post for YouTube, with its post types, settings and limits.all
post_to_threadsWrite and schedule a post for Threads, with its post types, settings and limits.all
post_to_blueskyWrite and schedule a post for Bluesky, with its post types, settings and limits.all
post_to_pinterestWrite and schedule a post for Pinterest, with its post types, settings and limits.all
post_to_gmbWrite and schedule a post for Google Business Profile, with its post types, settings and limits.all
post_to_linkedinWrite and schedule a post for LinkedIn, with its post types, settings and limits.all
post_to_mastodonWrite and schedule a post for Mastodon, with its post types, settings and limits.all
post_to_discordWrite and schedule a post for Discord, with its post types, settings and limits.all
post_to_telegramWrite and schedule a post for Telegram, with its post types, settings and limits.all
post_to_tumblrWrite and schedule a post for Tumblr, with its post types, settings and limits.all
post_to_snapchatWrite and schedule a post for Snapchat, with its post types, settings and limits.all

Example Conversation

Here is an example of using the BulkPublish tools in Claude:

You: Schedule a post for tomorrow at 9am EST saying "Excited to announce our new feature! Check it out at example.com" to all my connected channels.

Claude: Let me check your connected channels first.

[Calls list_channels]

You have 3 active channels:

  • X/Twitter: @yourcompany (ID: 1)
  • LinkedIn: Your Company Page (ID: 2)
  • Instagram: @yourcompany (ID: 3)

Now I'll schedule the post for tomorrow at 9:00 AM Eastern.

[Calls create_post with content, channels, scheduledAt: "2025-01-16T14:00:00Z", timezone: "America/New_York", status: "scheduled"]

Done! Your post has been scheduled:

  • Post ID: 42
  • Status: scheduled
  • Scheduled for: January 16, 2025 at 9:00 AM EST
  • Channels: X/Twitter, LinkedIn, Instagram

You: How did my posts perform this month?

Claude: [Calls get_analytics with from: "2025-01-01", to: "2025-01-31"]

Here is your January analytics summary:

  • Total posts: 28
  • Published: 25
  • Failed: 1
  • Scheduled (pending): 2
  • By platform: X/Twitter (25 posts, 24 published), LinkedIn (20 posts, 19 published), Instagram (15 posts, all published)
  • Best day: January 12 with 5 posts

You: Upload this image and create a draft post with it: https://example.com/product-launch.png

Claude: [Calls upload_media with url]

Image uploaded successfully (ID: 15, 1200x630px, 245KB).

[Calls create_post with content and mediaFileIds]

Draft post created (ID: 43) with the product launch image attached. You can review and publish it when ready.

Environment Variables

VariableRequiredDefaultDescription
BULKPUBLISH_API_KEYYes—Your API key (starts with bp_)
BULKPUBLISH_BASE_URLNohttps://app.bulkpublish.comAPI base URL (for self-hosted instances)
BULKPUBLISH_TOOL_PROFILENofull (stdio) / core (hosted HTTP)core, inbox or full — see Tool profiles
BULKPUBLISH_HIDE_BILLINGNo—1 drops get_quota_usage and view_quota (only relevant with full; core never includes them)

License

MIT

來源:mcp-server/README.md,提交 5d608cd

工具

0
該伺服器需要登入,因此 SourceWeft 無法在沒有帳號的情況下讀取其工具,也未收錄。已連接帳號所能看到的內容可能因帳號及其權限而異。

版本歷史

2
  1. v1.42.0最新Oct 8, 2026
  2. v1.1.2Sep 16, 2026

評分

已滿足適用檢查項的 85%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Publish 整合