# tellAFunnyJoke

Tells jokes about an input topic. Use this tool whenever user asks you to tell a joke.

Agent View of the PolicyLayer registry record for `tellAFunnyJoke`. HTML page: https://policylayer.com/tools/firebase-genkit/tellafunnyjoke

## Facts

- Tool: `tellAFunnyJoke`
- Server: Genkit MCP (`genkit-ai/genkit`) — https://policylayer.com/tools/firebase-genkit.md
- Homepage: https://github.com/genkit-ai/genkit
- Risk category: Read (Low risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Allowed

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

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

## Why tellAFunnyJoke is rated Low

This tool retrieves or generates joke content without modifying any state, executing external commands, or causing side effects. It fits the Read category as it produces output without reversible or irreversible changes to any system. The severity is low because even misuse (generating inappropriate jokes) has minimal blast radius and no operational impact.

From the tool's own definition: "Tool description states 'Tells jokes about an input topic' - a pure generative/output function with no data modification, deletion, or external side effects. The action is retrieval/generation of content based on input parameters."

## Use case

AI agents call tellAFunnyJoke to retrieve information from Genkit MCP without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

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

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "tellAFunnyJoke": {}
  }
}
```

## Other tools on Genkit MCP (71)

- `removeTask` — Destructive — https://policylayer.com/tools/firebase-genkit/removetask.md
- `characterGenerator` — Execute — https://policylayer.com/tools/firebase-genkit/charactergenerator.md
- `delegate_to_coder` — Execute — https://policylayer.com/tools/firebase-genkit/delegate-to-coder.md
- `delegate_to_researcher` — Execute — https://policylayer.com/tools/firebase-genkit/delegate-to-researcher.md
- `run_flow` — Execute — https://policylayer.com/tools/firebase-genkit/run-flow.md
- `run_shell` — Execute — https://policylayer.com/tools/firebase-genkit/run-shell.md
- `screenshot` — Execute — https://policylayer.com/tools/firebase-genkit/screenshot.md
- `slowWork` — Execute — https://policylayer.com/tools/firebase-genkit/slowwork.md
- `start_runtime` — Execute — https://policylayer.com/tools/firebase-genkit/start-runtime.md
- `transferToAgent` — Execute — https://policylayer.com/tools/firebase-genkit/transfertoagent.md
- `use_skill` — Execute — https://policylayer.com/tools/firebase-genkit/use-skill.md
- `processPayment` — Financial — https://policylayer.com/tools/firebase-genkit/processpayment.md
- `request_transfer` — Financial — https://policylayer.com/tools/firebase-genkit/request-transfer.md
- `reservationTool` — Financial — https://policylayer.com/tools/firebase-genkit/reservationtool.md
- `transferMoney` — Financial — https://policylayer.com/tools/firebase-genkit/transfermoney.md
- `add` — Other — https://policylayer.com/tools/firebase-genkit/add.md
- `askQuestion` — Other — https://policylayer.com/tools/firebase-genkit/askquestion.md
- `datePicker` — Other — https://policylayer.com/tools/firebase-genkit/datepicker.md
- `error_tool` — Other — https://policylayer.com/tools/firebase-genkit/error-tool.md
- `exitTool` — Other — https://policylayer.com/tools/firebase-genkit/exittool.md
- `gablorken` — Other — https://policylayer.com/tools/firebase-genkit/gablorken.md
- `test_http` — Other — https://policylayer.com/tools/firebase-genkit/test-http.md
- `account_record` — Read — https://policylayer.com/tools/firebase-genkit/account-record.md
- `ask_user` — Read — https://policylayer.com/tools/firebase-genkit/ask-user.md
- `celsiusToFahrenheit` — Read — https://policylayer.com/tools/firebase-genkit/celsiustofahrenheit.md
- `confirmBooking` — Read — https://policylayer.com/tools/firebase-genkit/confirmbooking.md
- `current_weather` — Read — https://policylayer.com/tools/firebase-genkit/current-weather.md
- `dailySpecial` — Read — https://policylayer.com/tools/firebase-genkit/dailyspecial.md
- `dynamicGablorkenTool` — Read — https://policylayer.com/tools/firebase-genkit/dynamicgablorkentool.md
- `echo_meta_tool` — Read — https://policylayer.com/tools/firebase-genkit/echo-meta-tool.md
- …and 41 more: https://policylayer.com/tools/firebase-genkit.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=firebase-genkit · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/firebase-genkit
