# FeatureBoard MCP server

Agent View of the PolicyLayer registry record for FeatureBoard: identity, probed posture, risk grade, and all 215 tools classified. HTML page: https://policylayer.com/tools/ai-featureboard-featureboard

## Facts

- Server id: `https://github.com/valentil/featureboard-mcp/releases/download/v0.7/featureboard.plugin`
- Homepage: https://github.com/valentil/featureboard-mcp
- Registry record: grade F, identity unverified
- Lifecycle: active
- Rate-limited: no
- Tools: 215
- Tool categories present: Destructive, Execute, Read, Write
- Tags: ai featureboard featureboard, admin, automation
- Record last modified: 2026-08-12T11:05:12.334Z

## Tools (215)

| Tool | Category | Risk | Record |
| --- | --- | --- | --- |
| `cancel_booking` | Destructive | Critical | https://policylayer.com/tools/ai-featureboard-featureboard/cancel-booking.md |
| `cleanup_worktree` | Destructive | Critical | https://policylayer.com/tools/ai-featureboard-featureboard/cleanup-worktree.md |
| `delete_task` | Destructive | Critical | https://policylayer.com/tools/ai-featureboard-featureboard/delete-task.md |
| `prune_board` | Destructive | Critical | https://policylayer.com/tools/ai-featureboard-featureboard/prune-board.md |
| `remove_annotation` | Destructive | Critical | https://policylayer.com/tools/ai-featureboard-featureboard/remove-annotation.md |
| `remove_attachment` | Destructive | Critical | https://policylayer.com/tools/ai-featureboard-featureboard/remove-attachment.md |
| `remove_company_agreement` | Destructive | Critical | https://policylayer.com/tools/ai-featureboard-featureboard/remove-company-agreement.md |
| `remove_contact` | Destructive | Critical | https://policylayer.com/tools/ai-featureboard-featureboard/remove-contact.md |
| `remove_media_comment` | Destructive | Critical | https://policylayer.com/tools/ai-featureboard-featureboard/remove-media-comment.md |
| `remove_page` | Destructive | Critical | https://policylayer.com/tools/ai-featureboard-featureboard/remove-page.md |
| `remove_product` | Destructive | Critical | https://policylayer.com/tools/ai-featureboard-featureboard/remove-product.md |
| `remove_share` | Destructive | Critical | https://policylayer.com/tools/ai-featureboard-featureboard/remove-share.md |
| `remove_test_page` | Destructive | Critical | https://policylayer.com/tools/ai-featureboard-featureboard/remove-test-page.md |
| `commit_feature` | Execute | High | https://policylayer.com/tools/ai-featureboard-featureboard/commit-feature.md |
| `create_worktree` | Execute | High | https://policylayer.com/tools/ai-featureboard-featureboard/create-worktree.md |
| `deploy_site` | Execute | High | https://policylayer.com/tools/ai-featureboard-featureboard/deploy-site.md |
| `drift_remediate` | Execute | High | https://policylayer.com/tools/ai-featureboard-featureboard/drift-remediate.md |
| `drift_start` | Execute | High | https://policylayer.com/tools/ai-featureboard-featureboard/drift-start.md |
| `eval_model_matrix` | Execute | High | https://policylayer.com/tools/ai-featureboard-featureboard/eval-model-matrix.md |
| `graduate_project` | Execute | High | https://policylayer.com/tools/ai-featureboard-featureboard/graduate-project.md |
| `set_git_config` | Execute | High | https://policylayer.com/tools/ai-featureboard-featureboard/set-git-config.md |
| `start_checks` | Execute | High | https://policylayer.com/tools/ai-featureboard-featureboard/start-checks.md |
| `validate_packaging` | Execute | High | https://policylayer.com/tools/ai-featureboard-featureboard/validate-packaging.md |
| `activate_license` | Financial | Critical | https://policylayer.com/tools/ai-featureboard-featureboard/activate-license.md |
| `request_commercial_license` | Financial | Critical | https://policylayer.com/tools/ai-featureboard-featureboard/request-commercial-license.md |
| `set_usage_type` | Other | Low | https://policylayer.com/tools/ai-featureboard-featureboard/set-usage-type.md |
| `auto_configure_analytics` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/auto-configure-analytics.md |
| `bug_impact_scan` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/bug-impact-scan.md |
| `check_updates` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/check-updates.md |
| `churn_reconcile` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/churn-reconcile.md |
| `code_file_map` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/code-file-map.md |
| `company_priority_tickets` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/company-priority-tickets.md |
| `coverage_by_product` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/coverage-by-product.md |
| `daily_plan` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/daily-plan.md |
| `drift_report` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/drift-report.md |
| `estimate_work` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/estimate-work.md |
| `eval_report` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/eval-report.md |
| `export_audit` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/export-audit.md |
| `export_metrics` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/export-metrics.md |
| `export_tasks` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/export-tasks.md |
| `generate_test` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/generate-test.md |
| `get_agent_monitor` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-agent-monitor.md |
| `get_board` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-board.md |
| `get_branding` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-branding.md |
| `get_campaign` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-campaign.md |
| `get_check_results` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-check-results.md |
| `get_company` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-company.md |
| `get_email` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-email.md |
| `get_git_config` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-git-config.md |
| `get_global_config` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-global-config.md |
| `get_health` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-health.md |
| `get_kb_doc` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-kb-doc.md |
| `get_live_activity` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-live-activity.md |
| `get_media` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-media.md |
| `get_metrics` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-metrics.md |
| `get_project_config` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-project-config.md |
| `get_rag_explorer` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-rag-explorer.md |
| `get_regressions` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-regressions.md |
| `get_requirements` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-requirements.md |
| `get_scratchpad` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-scratchpad.md |
| `get_site` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-site.md |
| `get_site_traffic` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-site-traffic.md |
| `get_source` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-source.md |
| `get_sprint_report` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-sprint-report.md |
| `get_steering_status` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-steering-status.md |
| `get_task` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-task.md |
| `get_test_page` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-test-page.md |
| `get_test_runs` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-test-runs.md |
| `get_ticket_diff` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-ticket-diff.md |
| `get_ticket_history` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-ticket-history.md |
| `get_timeline_data` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-timeline-data.md |
| `get_work_log` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-work-log.md |
| `get_work_packet` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/get-work-packet.md |
| `license_status` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/license-status.md |
| `list_bookings` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/list-bookings.md |
| `list_campaigns` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/list-campaigns.md |
| `list_code_files` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/list-code-files.md |
| `list_companies` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/list-companies.md |
| `list_contract_templates` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/list-contract-templates.md |
| `list_crm_inbox` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/list-crm-inbox.md |
| `list_decisions` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/list-decisions.md |
| `list_kb_docs` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/list-kb-docs.md |
| `list_lead_areas` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/list-lead-areas.md |
| `list_leads` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/list-leads.md |
| `list_mail` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/list-mail.md |
| `list_media` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/list-media.md |
| `list_media_comments` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/list-media-comments.md |
| `list_pages` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/list-pages.md |
| `list_projects` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/list-projects.md |
| `list_references` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/list-references.md |
| `list_review_comments` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/list-review-comments.md |
| `list_shares` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/list-shares.md |
| `list_site_assets` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/list-site-assets.md |
| `list_site_templates` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/list-site-templates.md |
| `list_sources` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/list-sources.md |
| `list_sprints` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/list-sprints.md |
| `list_tasks` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/list-tasks.md |
| `list_test_pages` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/list-test-pages.md |
| `list_test_variants` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/list-test-variants.md |
| `list_variations` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/list-variations.md |
| `list_worktrees` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/list-worktrees.md |
| `next_task` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/next-task.md |
| `next_wave` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/next-wave.md |
| `predict_due_dates` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/predict-due-dates.md |
| `prepare_research` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/prepare-research.md |
| `rag_search` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/rag-search.md |
| `read_code_file` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/read-code-file.md |
| `routing_scorecard` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/routing-scorecard.md |
| `scan_board_cleanup` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/scan-board-cleanup.md |
| `scan_test_cleanup` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/scan-test-cleanup.md |
| `search_kb` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/search-kb.md |
| `search_media` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/search-media.md |
| `suggest_file_split` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/suggest-file-split.md |
| `suggest_test_stub` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/suggest-test-stub.md |
| `test_runs_by_suite` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/test-runs-by-suite.md |
| `ticket_customers` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/ticket-customers.md |
| `voice_lint` | Read | Low | https://policylayer.com/tools/ai-featureboard-featureboard/voice-lint.md |
| `add_attachment` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/add-attachment.md |
| `add_company` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/add-company.md |
| `add_company_agreement` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/add-company-agreement.md |
| `add_contact` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/add-contact.md |
| `add_crm_message` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/add-crm-message.md |
| `add_decision` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/add-decision.md |
| `add_feature` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/add-feature.md |
| `add_features_bulk` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/add-features-bulk.md |
| `add_kb_doc` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/add-kb-doc.md |
| `add_lead` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/add-lead.md |
| `add_lead_area` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/add-lead-area.md |
| `add_lead_interaction` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/add-lead-interaction.md |
| `add_media_comment` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/add-media-comment.md |
| `add_page` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/add-page.md |
| `add_product` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/add-product.md |
| `add_review_comment` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/add-review-comment.md |
| `add_source` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/add-source.md |
| `annotate_media` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/annotate-media.md |
| `append_research` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/append-research.md |
| `append_scratchpad` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/append-scratchpad.md |
| `apply_site_template` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/apply-site-template.md |
| `assign_sprint` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/assign-sprint.md |
| `book_meeting` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/book-meeting.md |
| `capture_ask` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/capture-ask.md |
| `check_acceptance` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/check-acceptance.md |
| `close_sprint` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/close-sprint.md |
| `convert_lead` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/convert-lead.md |
| `create_campaign` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/create-campaign.md |
| `create_project` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/create-project.md |
| `create_sprint` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/create-sprint.md |
| `customer_portal` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/customer-portal.md |
| `decompose_feature` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/decompose-feature.md |
| `disable_login_gate` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/disable-login-gate.md |
| `dismiss_cleanup_finding` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/dismiss-cleanup-finding.md |
| `draft_email` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/draft-email.md |
| `draft_share` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/draft-share.md |
| `drift_record` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/drift-record.md |
| `edit_media` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/edit-media.md |
| `edit_site_section` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/edit-site-section.md |
| `enable_login_gate` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/enable-login-gate.md |
| `enrich_lead` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/enrich-lead.md |
| `generate_contract` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/generate-contract.md |
| `generate_multi_model_tests` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/generate-multi-model-tests.md |
| `import_tasks` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/import-tasks.md |
| `leads_map` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/leads-map.md |
| `link_customer_ticket` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/link-customer-ticket.md |
| `link_tasks` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/link-tasks.md |
| `log_bug` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/log-bug.md |
| `log_heartbeat` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/log-heartbeat.md |
| `log_test_run` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/log-test-run.md |
| `log_work` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/log-work.md |
| `mark_email_sent` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/mark-email-sent.md |
| `notify_slack` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/notify-slack.md |
| `open_pull_request` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/open-pull-request.md |
| `plan_budget` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/plan-budget.md |
| `plan_work` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/plan-work.md |
| `post_project_update` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/post-project-update.md |
| `publish_media_to_site` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/publish-media-to-site.md |
| `record_campaign_open` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/record-campaign-open.md |
| `record_dispatch` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/record-dispatch.md |
| `register_email` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/register-email.md |
| `repair_duplicate_ids` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/repair-duplicate-ids.md |
| `report_company_bug` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/report-company-bug.md |
| `resolve_company_bug` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/resolve-company-bug.md |
| `resolve_review_comment` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/resolve-review-comment.md |
| `revert_media` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/revert-media.md |
| `review_crm_message` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/review-crm-message.md |
| `save_generated_test` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/save-generated-test.md |
| `save_media` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/save-media.md |
| `save_packaging_config` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/save-packaging-config.md |
| `save_test_page` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/save-test-page.md |
| `scaffold_site` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/scaffold-site.md |
| `set_analytics_config` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/set-analytics-config.md |
| `set_branding` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/set-branding.md |
| `set_company_products` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/set-company-products.md |
| `set_global_config` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/set-global-config.md |
| `set_handoff` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/set-handoff.md |
| `set_lead_status` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/set-lead-status.md |
| `set_page_seo` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/set-page-seo.md |
| `set_project_config` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/set-project-config.md |
| `set_requirements` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/set-requirements.md |
| `set_scratchpad` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/set-scratchpad.md |
| `set_site` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/set-site.md |
| `set_site_analytics` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/set-site-analytics.md |
| `set_standard` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/set-standard.md |
| `set_status` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/set-status.md |
| `steer_project` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/steer-project.md |
| `submit_crm_intake` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/submit-crm-intake.md |
| `suggest_packaging` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/suggest-packaging.md |
| `tag_media` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/tag-media.md |
| `unlink_customer_ticket` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/unlink-customer-ticket.md |
| `update_company_agreement` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/update-company-agreement.md |
| `update_contact` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/update-contact.md |
| `update_lead_location` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/update-lead-location.md |
| `update_task` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/update-task.md |
| `upload_reference` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/upload-reference.md |
| `upload_site_asset` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/upload-site-asset.md |
| `validate_feedback` | Write | Medium | https://policylayer.com/tools/ai-featureboard-featureboard/validate-feedback.md |

## Tool descriptions

- `cancel_booking` — Cancel a scheduled booking by id (from list_bookings), optionally with a reason. Idempotent: cancelling an already-cancelled booking is a no-op.
- `cleanup_worktree` — Remove a ticket
- `delete_task` — Permanently remove a task from its board.
- `prune_board` — Guarded cleanup: deletes ONLY the ticket ids you pass, and only when confirm is true (otherwise returns a dry-run preview of what would be deleted). Non-existent ids are reported, not fatal. Pair with scan_board_cleanup
- `remove_annotation` — Remove an annotation from an asset by its id (from get_media). Returns the remaining count.
- `remove_attachment` — Detach a previously attached file path or URL from a ticket.
- `remove_company_agreement` — Delete a contract/license from a company by id.
- `remove_contact` — Remove a contact from a company by its contact id (e.g. c1).
- `remove_media_comment` — Remove a comment by id (from get_media / list_media_comments). By default its reply subtree is removed too; set cascade:false to refuse when it still has replies. Returns the ids removed.
- `remove_page` — Delete a sub-page (by slug) and its rendered file. The home page can
- `remove_product` — Remove a product from a board
- `remove_share` — Delete a share draft by its id (from list_shares).
- `remove_test_page` — Delete a test page by name.
- `commit_feature` — If git integration is enabled for the project, commit (and optionally push) the current changes in the project
- `create_worktree` — Create (or reuse) an isolated git worktree for a ticket so several tickets can be worked in PARALLEL - each sub-agent edits its own checked-out directory on branch ticket/<ticket>, sharing one .git object store, never the shared repo wor…
- `deploy_site` — Re-render the project
- `drift_remediate` — One-click remediation across a run
- `drift_start` — Begin a drift-evaluation run over a board
- `eval_model_matrix` — FBMCPF-148 — run a ticket
- `graduate_project` — One-command incubator \u2192 dedicated-repo graduation (lifecycle \
- `set_git_config` — Enable/configure optional per-project git integration so finished tickets can be committed (and optionally pushed) to the project
- `start_checks` — Fire-and-forget: spawn a DETACHED background run of the project
- `validate_packaging` — Run the build-preflight packaging checks against the project
- `activate_license` — Activate a commercial license. Two modes — provide exactly one: (1)
- `request_commercial_license` — Start the commercial licensing process. Records the request locally (for the licensor
- `set_usage_type` — smoke
- `auto_configure_analytics` — Derive the external analytics read config from the site
- `bug_impact_scan` — Given a bug (by ticket, or an ad-hoc title/description), rank the existing features most likely affected, by keyword overlap and shared product. Use it when logging a bug to spot regressions and linkage candidates.
- `check_updates` — Explicitly check featureboard.ai for a newer FeatureBoard release. This makes exactly ONE outbound HTTPS
- `churn_reconcile` — For Done tickets with tagged commits, compare the additions/deletions logged in the work log against the git-actual numstat of their commits. Git-actual comes from recorded commit events (FBMCPF-188) or, failing that, a live git log --gr…
- `code_file_map` — Recursively map the project
- `company_priority_tickets` — List a company
- `coverage_by_product` — Roll up, per product, how many of its tickets have at least one recorded test run vs none, so testing gaps are visible on the board. Includes an overall rollup and the untested tickets per product.
- `daily_plan` — Plan TODAY: pick the day
- `drift_report` — Aggregate a drift run: per-ticket scores, mean fidelity, verdict counts, drift rate, and — for sampling — a 95% Wilson confidence interval on the true drift fraction extrapolated to the whole Done population. Lists the flagged (partial/d…
- `estimate_work` — Per-ticket token estimates for all open tickets, derived from the board
- `eval_report` — Compare board-workflow vs chat-workflow trials using label conventions: experiment:board / experiment:chat marks a ticket
- `export_audit` — Unified compliance/traceability export: for one ticket or the whole board, merges the existing audit primitives into a single report \u2014 field-change events (status/priority/label moves), work-log sessions, sub-agent dispatch records,…
- `export_metrics` — Flat-file export of analytics for external BI/spreadsheet use, mirroring export_tasks: what:
- `export_tasks` — Export a board
- `generate_test` — Generate a FULL node:test file (path + content) from a prompt and/or a ticket — one test() block per described behaviour, not just the single boilerplate stub. Optionally imports a target module. Read-only: returns the file for you to wr…
- `get_agent_monitor` — Live snapshot of the board
- `get_board` — Return the FeatureBoard board UI as a self-contained HTML document, ready to render as a Cowork artifact.
- `get_branding` — Return the project
- `get_campaign` — Full campaign incl. recipients, open stats, and the send-batch sizes.
- `get_check_results` — Collect the results of a background static-check run: by runId, else the newest run for a ticket, else the newest run overall. Returns the run
- `get_company` — Full company record including its contacts. Throws if the company id isn
- `get_email` — Full email message by id (from list_mail).
- `get_git_config` — Read the project
- `get_global_config` — Read FeatureBoard
- `get_health` — Composite 0-100 health score with grade and breakdown: bug pressure, feature progress, momentum (recent tokens), and freshness (staleness of open work).
- `get_kb_doc` — Read one kb doc
- `get_live_activity` — Read-only git/filesystem ground truth about what coding sub-agents are doing RIGHT NOW, for one project or
- `get_media` — View one media asset: its metadata, size, and (by default) content — UTF-8 for text/report assets, base64 for images — plus its revision history (prior versions with the prompts used). Pass a version id to view an archived revision inste…
- `get_metrics` — Read-only snapshot: feature/bug counts by status, completions by date, and velocity from the work log (tokens, additions/deletions, active days, recent tokens, and $ cost by model — see project config \
- `get_project_config` — Read a board
- `get_rag_explorer` — Return the Research RAG Explorer UI as a self-contained HTML document, ready to render as a Cowork artifact —
- `get_regressions` — Regression view: bugs grouped under the feature they
- `get_requirements` — Read a ticket
- `get_scratchpad` — Read a board
- `get_site` — Read the project
- `get_site_traffic` — Read proxy for site traffic: fetch the configured provider
- `get_source` — Read one source
- `get_sprint_report` — Read the close-out reports written by close_sprint. With no sprint: list sprints that have reports. With a sprint but no audience: the manifest + which audiences exist. With sprint + audience (marketing|sales|technical|executive): that r…
- `get_steering_status` — FBMCPF-319: read-only observability into the steering loop for a project — WITHOUT running or mutating a pass (unlike steer_project).
- `get_task` — Get the full details of a single task by its ticket ID (e.g. FBF-12).
- `get_test_page` — Read one test page
- `get_test_runs` — Read recorded test runs (most-recent first) plus a summary: total runs, latest result, and whether the latest is passing.
- `get_ticket_diff` — Capture the code changes made for a ticket: find commits in the project
- `get_ticket_history` — Full audit timeline for one ticket: recorded field-change events (status moves, priority moves, label/sprint changes, due-date edits — captured automatically by set_status/update_task/assign_sprint) merged in chronological order with tha…
- `get_timeline_data` — Per-ticket worked spans for the board
- `get_work_log` — Read work-log entries, most-recent first. Optionally filter to one ticket. Returns entries plus a velocity rollup.
- `get_work_packet` — Assemble a focused brief for one ticket before you work it: scope, linked-issue details, code location + custom project prompt, scratchpad mentions, the ticket
- `license_status` — Report the current licensing state: usage tier, whether writes are allowed, and (for a commercial trial) time remaining. Call this if a write was blocked, or during onboarding.
- `list_bookings` — List bookings for the board, newest-first. Filter by company or status (
- `list_campaigns` — List marketing campaigns (newest-first) with summary stats (recipients, opens, open rate, batch count).
- `list_code_files` — List files and folders under the project
- `list_companies` — List the project
- `list_contract_templates` — List the standard contract templates (NDA, MSA, SOW, commercial license) with their required fields.
- `list_crm_inbox` — List CRM inbox messages (newest-first), optionally filtered by status (pending/approved/rejected), company, and/or type (support/sales/contact/feedback/other).
- `list_decisions` — Read a project
- `list_kb_docs` — List a board
- `list_lead_areas` — List the defined geographic lead areas (id, name, centre, radius).
- `list_leads` — List leads (newest-first), optionally filtered by pipeline status and/or company.
- `list_mail` — List mail (newest-first), optionally filtered by status (draft/sent) and/or company. Sent items form the mail history.
- `list_media` — List a project
- `list_media_comments` — List an asset
- `list_pages` — List the site
- `list_projects` — List all boards (projects) under the configured boards folder.
- `list_references` — List the reference/source images under media/uploads/ (inputs for generation).
- `list_review_comments` — List review comments for a project, optionally scoped to one ticket, with their resolved state. Set includeResolved:false to see only open feedback.
- `list_shares` — List saved share drafts (newest-first), optionally filtered by asset and/or platform.
- `list_site_assets` — List the assets stored under the site
- `list_site_templates` — List the available starter website templates (landing, docs, blog) the builder can start from.
- `list_sources` — List a board
- `list_sprints` — List a board
- `list_tasks` — List features and/or bugs on a board, most-recent first. Filter by type, status, product, label, or search.
- `list_test_pages` — List the standalone HTML test pages under test-pages/.
- `list_test_variants` — List the per-model test variants present for a ticket (test/<ticket>.<model>.test.js) and which model tiers cover it. Reads the project
- `list_variations` — List the gallery assets that share a variation group id (alternatives generated from one prompt), for side-by-side review.
- `list_worktrees` — List the git worktrees for a project
- `next_task` — Return the next open ticket to work (status Todo or In Progress), so you can pull work one item at a time. Prefers In Progress, then earliest due date, then oldest ticket. Returns null when the board is clear. When the project config eta…
- `next_wave` — The PLURAL of next_task: return the whole dispatchable set at once, already partitioned into file-disjoint lanes,
- `predict_due_dates` — Estimate when open work will complete by dividing the backlog by the board
- `prepare_research` — FBMCPF-263: deterministically assemble a research REQUEST packet for a ticket BEFORE implementation (no model calls). Returns the questions to answer — how to execute (approaches + tradeoffs), prior art IN THIS repo (files/tickets), comp…
- `rag_search` — FBMCPF-264/315: local retrieval over this board
- `read_code_file` — Read a file under the project
- `routing_scorecard` — Which model tier should actually run your tickets, measured instead of guessed (FBMCPF-351). Scores every Done ticket from data the board
- `scan_board_cleanup` — Read-only deep-clean scan: finds likely-duplicate tickets (grouped by title similarity, each group nominating a keeper + removal candidates), stale/placeholder tickets (old Todo items, placeholder titles), open tickets missing a model:/c…
- `scan_test_cleanup` — Read-only deep-clean of the project
- `search_kb` — Keyword search across a board
- `search_media` — Search/filter a project
- `suggest_file_split` — Given an oversized source file (see code_file_map
- `suggest_test_stub` — Generate a boilerplate test file (path + node:test content) for a ticket, derived from its title/description and the board
- `test_runs_by_suite` — Organize recorded test runs (from log_test_run) by suite: each suite
- `ticket_customers` — Reverse lookup: which CRM companies a board ticket is linked to (surfaces the ticket↔customer relationship).
- `voice_lint` — Score text for AI-writing tells (overused lexical items like \
- `add_attachment` — Attach a file path or URL to a ticket (stored as [Attachments: ...] on the ticket line). Idempotent: attaching the same item twice is a no-op.
- `add_company` — Create a company in the project
- `add_company_agreement` — Record a contract or license on a CRM company (stored on the company, alongside contacts). kind
- `add_contact` — Add a contact (name, email, role, phone) to a company. Contact ids are unique within the company.
- `add_crm_message` — Add an incoming message to the CRM inbox (starts pending review). Useful for logging inbound emails/leads that need triage and approval.
- `add_decision` — Append a new ADR to a project
- `add_feature` — Add a feature to a board
- `add_features_bulk` — Add several features at once. Use this after brainstorming: you generate the ideas, this persists them. Returns the created tickets.
- `add_kb_doc` — Write a markdown doc into a board
- `add_lead` — Add a sales lead to the project
- `add_lead_area` — Define a circular geographic area (name + centre lat/lng + radius km) for the leads map. leads_map then tags each mapped lead with the areas it falls in and rolls up lead counts + pipeline value per area.
- `add_lead_interaction` — Append a touchpoint to a lead
- `add_media_comment` — Add a threaded comment to a gallery asset (a discussion thread, distinct from pin annotations). Pass parentId (a comment id from get_media / list_media_comments) to reply to an existing comment. Returns the new comment and total count.
- `add_page` — Add or update a sub-page of the project site (rendered to site/<slug>.html), with its own title and sections. The home page stays managed by set_site. Re-renders all pages so theme/gate stay consistent.
- `add_product` — Add a product to a board
- `add_review_comment` — Attach a PR-style review comment to a ticket (optionally anchored to a file and line). Unresolved review comments surface in the ticket
- `add_source` — Save a research source (paper, article, reference) into a board
- `annotate_media` — Add a pin-based comment/annotation to an asset. Optional x/y locate the pin (e.g. 0-1 relative coordinates on an image or report). Returns the new annotation (with a stable id) and the total count.
- `append_research` — Capture ONE research finding into a ticket
- `append_scratchpad` — Append a line or block to a board
- `apply_site_template` — Seed the project website from a starter template (landing, docs, blog): sets title/tagline/theme/sections and any starter pages, then renders. Replaces the current site config — use set_site/add_page to refine after.
- `assign_sprint` — Move one or more tickets into a sprint — sets the sprint:<name> label, replacing any existing sprint label.
- `book_meeting` — Schedule a call, demo, or meeting with a CRM company (and optionally a specific contact within it). Validates the company exists (list_companies) and the contact belongs to it. Time is an ISO timestamp; stored under crm/bookings.json wit…
- `capture_ask` — Structure ONE pasted external request — a Slack message, forwarded email body, chat snippet — into a feature or bug via the same heuristics as validate_feedback (type/product/priority keywords, model/cap intake guard), labeled ask:<sourc…
- `check_acceptance` — Toggle the checkbox on acceptance criterion #index (1-based) of a ticket
- `close_sprint` — Close a sprint and generate four audience-specific close-out reports (marketing, sales, technical, executive) from its tickets, work log, and metrics (velocity, tokens, $ cost, ADRs touched, CRM ticket links).
- `convert_lead` — Convert a qualified lead into a CRM company, carrying over its fields (name, website→domain, a notes summary) and optionally seeding a contact from the lead
- `create_campaign` — Create a marketing campaign with a recipient list and a send batch size. Recipients are validated + de-duplicated; sending is left to the user/a connector (this tracks the campaign and computes send batches). Returns the campaign + stats…
- `create_project` — Create a new board folder with empty featurelist.md and buglist.md. Returns the derived ticket prefix.
- `create_sprint` — Create (or update) a named sprint on a board, with optional start/end dates and a one-line goal.
- `customer_portal` — Build a per-customer portal page for a CRM company: their contacts plus the board tickets linked to them (link tickets with link_customer_ticket). Returns self-contained HTML; with save:true it also writes the page into the media gallery…
- `decompose_feature` — Replace one feature with a set of linked subtasks. You provide the subtasks; this creates them (each linked to the parent) and deletes the parent. Returns the new tickets.
- `disable_login_gate` — Turn off the project site
- `dismiss_cleanup_finding` — Suppress a scan_board_cleanup finding from future scans WITHOUT deleting anything — for false positives or findings you
- `draft_email` — Compose and save an email draft in the project mail center (does not send — there is no mail connector; the user or a future connector sends). Recipients are validated. Optionally tie it to a CRM company. When the project config voiceLin…
- `draft_share` — Save a reviewable social-share draft for a gallery item — you write the copy, this persists it (never posts). Platform
- `drift_record` — Record a 0–100 fidelity score for one ticket in a drift run (verdict is derived: >=80 aligned, 50–79 partial, <50 drift — or pass your own). Provide a short gap explaining any shortfall, and optionally the files you checked. Upserts by t…
- `edit_media` — Directly edit an existing text/report asset (find/replace, append, or prepend) and save the result as a new version — the prior copy is archived (edit-media). For images, use refine_media or image generation instead.
- `edit_site_section` — Live editor: patch one website section by index (heading and/or body), or append a new section when index is omitted. Re-renders the page.
- `enable_login_gate` — Turn on an optional passcode gate for the project
- `enrich_lead` — Record website-sourced details on a lead (only provided fields are set): website, domain, phone, industry, description, contactName, employees, email, city, source, value. Use the pull_lead_website prompt to fetch + extract these from th…
- `generate_contract` — Fill a standard contract template with the given fields and return the draft markdown. Optionally auto-fills customer_name from a CRM company, and with save:true writes the draft into the media gallery. Drafts are stamped to review with …
- `generate_multi_model_tests` — For a bug/ticket, fan one generation prompt out across model tiers (default fable, opus, sonnet) — each surfaces different failure concepts. Returns the SAME prompt once per tier plus a per-tier storage path (test/<ticket>.<model>.test.j…
- `import_tasks` — Import a backlog from raw text into a board. Accepts a markdown checklist (- [ ] Title: desc), CSV (with a header row: title, description, product, priority, type, due, labels, status), or a JSON array/object ({features:[…], bugs:[…]} or…
- `leads_map` — Geographic + pipeline rollup for the leads map: mappable points (leads with lat/lng), counts by status and by city, geocoded/ungeocoded tally, and total pipeline value. Rendering is left to the board or a generated report.
- `link_customer_ticket` — Link a board ticket (feature/bug) to a CRM company, stored on the company so it shows in its customer_portal. De-duplicated.
- `link_tasks` — Relate two tickets. kind \
- `log_bug` — Log a bug to a board
- `log_heartbeat` — Append a lightweight in-flight progress ping for a ticket a sub-agent is actively working: a phase/milestone
- `log_test_run` — Record a test run
- `log_work` — Append a work event to the board
- `mark_email_sent` — Record that a draft was sent (moves it into mail history with a sentAt timestamp). Does not actually send — tracking only.
- `notify_slack` — Post a message to THIS project
- `open_pull_request` — Turn a ticket
- `plan_budget` — Map a token budget onto the priority-ordered open queue BEFORE spending it: assigns tickets to days (greedy load-balance),
- `plan_work` — Turn a user request into board items in one step. Optionally creates the project, then adds the features and bugs you list. Use this as the FIRST step when starting a substantive request, then work the tickets one at a time. Returns all …
- `post_project_update` — Append a dated narrative status update (Linear-style) to the project
- `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
- `record_campaign_open` — Record that a recipient opened a campaign (idempotent per recipient) — for when a mail connector or manual entry reports opens. Updates open-rate stats.
- `record_dispatch` — Record who is actively working an In Progress ticket: appended as a
- `register_email` — Store an email address the user explicitly typed and submitted on the tier-picker onboarding screen (the
- `repair_duplicate_ids` — Find ticket ids that appear more than once on a board (legacy data can carry collisions like FBF-491 twice),
- `report_company_bug` — Log a bug reported by a company: creates a board bug (FBB-###), links it to the company, and records the report on the company. Ties customer reports to the bug workflow.
- `resolve_company_bug` — Mark a company-reported bug resolved: sets the board bug to Done and flips the company
- `resolve_review_comment` — Mark a review comment resolved by its id (RC-<n>). Idempotent. Once every comment on a ticket is resolved it stops surfacing in the work packet and (if in Review) leaves next_task
- `revert_media` — Restore a prior version of an asset as the current one. The current copy is archived first, so the revert is itself undoable. Use get_media to find the version id.
- `review_crm_message` — Approve or reject a pending CRM inbox message by id. Records the decision and timestamp.
- `save_generated_test` — Ingest the model-generated test variants for a ticket (submit them as variants: [{model, content}]). Tags each with its model, dedupes identical/near-identical assertions across variants (whitespace + variable names normalized; a fully-d…
- `save_media` — Save a generated asset into a project
- `save_packaging_config` — Persist the .mcpb packaging metadata for a project (packaging.json): name (slugified), displayName, description, longDescription, keywords, version. Validated by the same rules the build preflight uses; rejects hard errors (missing name/…
- `save_test_page` — Create/overwrite a standalone HTML test/QA page under the project
- `scaffold_site` — Generate a whole site in one shot from a single spec instead of set_site field-by-field: sets the home page (title, tagline, theme, sections) and creates each initial sub-page. Persisted through the website store and rendered to the site…
- `set_analytics_config` — Configure which external analytics provider to READ site traffic from (distinct from set_site_analytics, which injects tracking). Provider is plausible/umami/custom (Google Analytics needs an OAuth connector). No API key is stored — the …
- `set_branding` — Set the project
- `set_company_products` — Record which products a company uses/owns (replaces the list; de-duplicated). Surfaced on the company record and usable via list_companies(product=...).
- `set_global_config` — Set FeatureBoard
- `set_handoff` — Write a ticket
- `set_lead_status` — Move a lead along the pipeline (new/contacted/qualified/won/lost). Records the update time.
- `set_page_seo` — Set SEO for the home page (omit slug, or slug=
- `set_project_config` — Update a board
- `set_requirements` — Write a ticket
- `set_scratchpad` — Overwrite a board
- `set_site` — Set the project
- `set_site_analytics` — Add an analytics snippet to every page of the site
- `set_standard` — Set — and LOCK — how much rigor a project
- `set_status` — Move a task between Todo / In Progress / Review / Done. Review sits between In Progress and Done when requireReview is on; approve:true overrides the gate. When moving to Done you can also record structured completion metadata (model, to…
- `steer_project` — FBMCPF-317: the churn loop
- `submit_crm_intake` — Capture an inbound support or contact submission (support-info / crm-submit) into the CRM inbox, pending review. Records the requester (name/email), a category (support/sales/contact/feedback/other), an optional related company, and the …
- `suggest_packaging` — AI-gen seed: derive a draft of the .mcpb packaging metadata (name, displayName, description, keywords) from the project
- `tag_media` — Add and/or remove custom tags on a media asset (updates the sidecar only — the asset bytes and version history are untouched). Tags are de-duplicated. Returns the asset
- `unlink_customer_ticket` — Remove a ticket link from a CRM company.
- `update_company_agreement` — Update a company contract/license by id — e.g. extend a license (new expiresAt), change status (
- `update_contact` — Edit a contact on a company (only provided fields change). Pass an empty string to clear email/role/phone.
- `update_lead_location` — Set a lead
- `update_task` — Update fields on an existing task. Only provided fields change.
- `upload_reference` — Save a reference/source image under media/uploads/ (base64) to use as input for media generation — kept separate from the gallery. Reference it in a generate/refine prompt so Claude or an image model can work from it.
- `upload_site_asset` — Store an image/asset under the site
- `validate_feedback` — Parse unstructured feedback (user notes, review comments, bug reports) into candidate tickets, each with a suggested type (feature/bug), product, and priority from deterministic keyword heuristics only — no model calls. DRY-RUN BY DEFAUL…

## Related servers

- UnClick (1662 tools) — https://policylayer.com/tools/io-github-malamutemayhem-unclick-mcp-server.md
- Delx Protocol — Agent Recovery & Continuity (1076 tools) — https://policylayer.com/tools/io-github-davidmosiah-delx-protocol.md
- Delx Mcp A2a (1068 tools) — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a.md
- Nodebench (824 tools) — https://policylayer.com/tools/io-github-homenshum-nodebench.md
- MCP Framework Personal (811 tools) — https://policylayer.com/tools/inggerman-mcps.md
- Delx MCP Server (740 tools) — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-server.md
- Binance MCP Server (734 tools) — https://policylayer.com/tools/nirholas-binance-mcp.md
- Eda Agent (726 tools) — https://policylayer.com/tools/eda-agent.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 · Recommended policies for every tool: https://policylayer.com/policies/ai-featureboard-featureboard
