# project_link_feature

Link an existing owned parentless epic to this project. Exact retry reuses the link; linking an epic already belonging to another project conflicts. Does not reparent, claim or execute the ticket.

Agent View of the PolicyLayer registry record for `project_link_feature`. HTML page: https://policylayer.com/tools/com-meta-council-decision-intelligence/project-link-feature

## Facts

- Tool: `project_link_feature`
- Server: Meta Council (`https://meta-council.com/mcp`) — https://policylayer.com/tools/com-meta-council-decision-intelligence.md
- Homepage: https://github.com/daliu/meta-council
- Risk category: Execute (High risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server rate-limited: no
- Parameters: 2 (2 required)
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `ticket_id` | string | yes |  |
| `project_id` | string | yes |  |

Parameters from the server's own tool schema.

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

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "project_link_feature",
    "arguments": {
      "ticket_id": "<ticket_id>",
      "project_id": "<project_id>"
    }
  }
}
```

## Why project_link_feature is rated High

project_link_feature triggers real processes with real consequences. An agent gone sideways doesn't fire it once. It starts dozens of builds, sends mass notifications, or burns through compute before anyone looks up.

## Use case

AI agents invoke project_link_feature to trigger actions in Meta Council. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call: builds kicked off, notifications sent, workflows started.

## Recommended policy (PolicyLayer)

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

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "project_link_feature": {
      "limits": [
        {
          "counter": "project_link_feature_rate",
          "window": "minute",
          "max": 10,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Meta Council (279)

- `account_export` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/account-export.md
- `cancel_booking` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/cancel-booking.md
- `decide_approval` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/decide-approval.md
- `delete_accounting_run` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/delete-accounting-run.md
- `delete_monitor` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/delete-monitor.md
- `delete_saved_view` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/delete-saved-view.md
- `delete_workflow_template` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/delete-workflow-template.md
- `preview_scheduling_action` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/preview-scheduling-action.md
- `project_unlink_feature` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/project-unlink-feature.md
- `reconcile_attention_notification_delivery` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/reconcile-attention-notification-delivery.md
- `revoke_portfolio_report_share` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/revoke-portfolio-report-share.md
- `ticket_dependency_remove` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/ticket-dependency-remove.md
- `void_invoice` — Destructive — https://policylayer.com/tools/com-meta-council-decision-intelligence/void-invoice.md
- `dismiss_ticket_integration_effect` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/dismiss-ticket-integration-effect.md
- `execute_saved_view` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/execute-saved-view.md
- `preview_accounting_ticket_sync` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/preview-accounting-ticket-sync.md
- `retry_workflow` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/retry-workflow.md
- `review_external_workflow` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/review-external-workflow.md
- `run_comparison` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/run-comparison.md
- `run_council` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/run-council.md
- `run_workflow` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/run-workflow.md
- `start_external_workflow` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/start-external-workflow.md
- `ticket_scenario_revise` — Execute — https://policylayer.com/tools/com-meta-council-decision-intelligence/ticket-scenario-revise.md
- `add_invoice_line_item` — Financial — https://policylayer.com/tools/com-meta-council-decision-intelligence/add-invoice-line-item.md
- `mark_invoice_paid` — Financial — https://policylayer.com/tools/com-meta-council-decision-intelligence/mark-invoice-paid.md
- `advance_workflow` — Read — https://policylayer.com/tools/com-meta-council-decision-intelligence/advance-workflow.md
- `ask_legal` — Read — https://policylayer.com/tools/com-meta-council-decision-intelligence/ask-legal.md
- `browse_ticket_integration_import` — Read — https://policylayer.com/tools/com-meta-council-decision-intelligence/browse-ticket-integration-import.md
- `campaign_pipeline_stats` — Read — https://policylayer.com/tools/com-meta-council-decision-intelligence/campaign-pipeline-stats.md
- `check_ticket_provider_fields` — Read — https://policylayer.com/tools/com-meta-council-decision-intelligence/check-ticket-provider-fields.md
- …and 249 more: https://policylayer.com/tools/com-meta-council-decision-intelligence.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=com-meta-council-decision-intelligence · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/com-meta-council-decision-intelligence
