# punctuation_count

Count punctuation marks by type in text.

Agent View of the PolicyLayer registry record for `punctuation_count`. HTML page: https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/punctuation-count

## Facts

- Tool: `punctuation_count`
- Server: GadgetHumans API Hub (`pypi:gadgethumans-api-hub-mcp`) — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub.md
- Install: `npx -y pypi:gadgethumans-api-hub-mcp`
- Homepage: https://github.com/scotia1973-bot/api-hub
- 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": "punctuation_count",
    "arguments": {}
  }
}
```

## Why punctuation_count is rated Low

This is a read-only utility that analyzes input text and returns punctuation statistics. It has minimal security risk as it cannot modify data, trigger external actions, or cause harm even if misused by an AI agent.

From the tool's own definition: "Tool counts punctuation marks in text with no side effects. It retrieves/analyzes data without modifying, creating, deleting, or executing external operations. The description 'Count punctuation marks by type in text' indicates a pure data analysis function."

## Use case

AI agents call punctuation_count to retrieve information from GadgetHumans API Hub 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 GadgetHumans API Hub:

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

## Other tools on GadgetHumans API Hub (310)

- `clean_whitespace` — Destructive — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/clean-whitespace.md
- `gravitational_force_calc` — Destructive — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/gravitational-force-calc.md
- `atbash_cipher` — Execute — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/atbash-cipher.md
- `caesar_cipher` — Execute — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/caesar-cipher.md
- `crawl_website` — Execute — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/crawl-website.md
- `electrical_calc` — Execute — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/electrical-calc.md
- `evaluate_math` — Execute — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/evaluate-math.md
- `filter_data` — Execute — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/filter-data.md
- `fn` — Execute — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/fn.md
- `generate_password` — Execute — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/generate-password.md
- `hash_text` — Execute — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/hash-text.md
- `http_client` — Execute — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/http-client.md
- `ini_to_json` — Execute — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/ini-to-json.md
- `matrix_operations` — Execute — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/matrix-operations.md
- `momentum_calc` — Execute — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/momentum-calc.md
- `pressure_calc` — Execute — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/pressure-calc.md
- `ratio_calc` — Execute — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/ratio-calc.md
- `test_regex` — Execute — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/test-regex.md
- `web_scrape` — Execute — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/web-scrape.md
- `agent_memory` — Other — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/agent-memory.md
- `generate_ulids` — Other — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/generate-ulids.md
- `alternating_case` — Read — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/alternating-case.md
- `amortization_calc` — Read — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/amortization-calc.md
- `anagram_check` — Read — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/anagram-check.md
- `analyze_tone` — Read — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/analyze-tone.md
- `analyze_url` — Read — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/analyze-url.md
- `angle_convert` — Read — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/angle-convert.md
- `area_convert` — Read — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/area-convert.md
- `ascii_table` — Read — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/ascii-table.md
- `auto_loan_calc` — Read — https://policylayer.com/tools/io-github-scotia1973-bot-api-hub/auto-loan-calc.md
- …and 280 more: https://policylayer.com/tools/io-github-scotia1973-bot-api-hub.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=io-github-scotia1973-bot-api-hub · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-scotia1973-bot-api-hub
