# publish_media_to_site

Publish a gallery asset as a page on the project site (media/push-to-blog). A report/HTML/text asset becomes the page

Agent View of the PolicyLayer registry record for `publish_media_to_site`. HTML page: https://policylayer.com/tools/ai-featureboard-featureboard/publish-media-to-site

## Facts

- Tool: `publish_media_to_site`
- Server: FeatureBoard (`https://github.com/valentil/featureboard-mcp/releases/download/v0.7/featureboard.plugin`) — https://policylayer.com/tools/ai-featureboard-featureboard.md
- Homepage: https://github.com/valentil/featureboard-mcp
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "publish_media_to_site",
    "arguments": {}
  }
}
```

## Why publish_media_to_site is rated Medium

This tool creates or modifies web pages on a site by publishing media as new pages. This is a Write operation because it creates reversible content (pages can be unpublished or deleted). Severity is medium because misuse could result in unauthorized content publication affecting the project site's public presence, but the operation is reversible.

From the tool's own definition: "Tool description states 'Publish a gallery asset as a page on the project site' and 'asset becomes the page', indicating creation of new web content."

## Use case

AI agents use publish_media_to_site to create or update resources in FeatureBoard, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your FeatureBoard environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches FeatureBoard:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "publish_media_to_site": {
      "limits": [
        {
          "counter": "publish_media_to_site_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on FeatureBoard (214)

- `cancel_booking` — Destructive — https://policylayer.com/tools/ai-featureboard-featureboard/cancel-booking.md
- `cleanup_worktree` — Destructive — https://policylayer.com/tools/ai-featureboard-featureboard/cleanup-worktree.md
- `delete_task` — Destructive — https://policylayer.com/tools/ai-featureboard-featureboard/delete-task.md
- `prune_board` — Destructive — https://policylayer.com/tools/ai-featureboard-featureboard/prune-board.md
- `remove_annotation` — Destructive — https://policylayer.com/tools/ai-featureboard-featureboard/remove-annotation.md
- `remove_attachment` — Destructive — https://policylayer.com/tools/ai-featureboard-featureboard/remove-attachment.md
- `remove_company_agreement` — Destructive — https://policylayer.com/tools/ai-featureboard-featureboard/remove-company-agreement.md
- `remove_contact` — Destructive — https://policylayer.com/tools/ai-featureboard-featureboard/remove-contact.md
- `remove_media_comment` — Destructive — https://policylayer.com/tools/ai-featureboard-featureboard/remove-media-comment.md
- `remove_page` — Destructive — https://policylayer.com/tools/ai-featureboard-featureboard/remove-page.md
- `remove_product` — Destructive — https://policylayer.com/tools/ai-featureboard-featureboard/remove-product.md
- `remove_share` — Destructive — https://policylayer.com/tools/ai-featureboard-featureboard/remove-share.md
- `remove_test_page` — Destructive — https://policylayer.com/tools/ai-featureboard-featureboard/remove-test-page.md
- `commit_feature` — Execute — https://policylayer.com/tools/ai-featureboard-featureboard/commit-feature.md
- `create_worktree` — Execute — https://policylayer.com/tools/ai-featureboard-featureboard/create-worktree.md
- `deploy_site` — Execute — https://policylayer.com/tools/ai-featureboard-featureboard/deploy-site.md
- `drift_remediate` — Execute — https://policylayer.com/tools/ai-featureboard-featureboard/drift-remediate.md
- `drift_start` — Execute — https://policylayer.com/tools/ai-featureboard-featureboard/drift-start.md
- `eval_model_matrix` — Execute — https://policylayer.com/tools/ai-featureboard-featureboard/eval-model-matrix.md
- `graduate_project` — Execute — https://policylayer.com/tools/ai-featureboard-featureboard/graduate-project.md
- `set_git_config` — Execute — https://policylayer.com/tools/ai-featureboard-featureboard/set-git-config.md
- `start_checks` — Execute — https://policylayer.com/tools/ai-featureboard-featureboard/start-checks.md
- `validate_packaging` — Execute — https://policylayer.com/tools/ai-featureboard-featureboard/validate-packaging.md
- `activate_license` — Financial — https://policylayer.com/tools/ai-featureboard-featureboard/activate-license.md
- `request_commercial_license` — Financial — https://policylayer.com/tools/ai-featureboard-featureboard/request-commercial-license.md
- `set_usage_type` — Other — https://policylayer.com/tools/ai-featureboard-featureboard/set-usage-type.md
- `auto_configure_analytics` — Read — https://policylayer.com/tools/ai-featureboard-featureboard/auto-configure-analytics.md
- `bug_impact_scan` — Read — https://policylayer.com/tools/ai-featureboard-featureboard/bug-impact-scan.md
- `check_updates` — Read — https://policylayer.com/tools/ai-featureboard-featureboard/check-updates.md
- `churn_reconcile` — Read — https://policylayer.com/tools/ai-featureboard-featureboard/churn-reconcile.md
- …and 184 more: https://policylayer.com/tools/ai-featureboard-featureboard.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=ai-featureboard-featureboard · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/ai-featureboard-featureboard
