hoop (hoophq/hoop) is an MCP server listed on the M8ven Trust Index. It scores 54 out of 100, grade D. It declares 59 tools. No publisher has claimed this listing.

D
Warning
54/100

hoop

One gateway in front of every protocol. Same policy across MCP, LLMs, databases and containers. Wire-level enforcement at under 5ms.

Warning. Serious findings were identified. Review the full report before connecting. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

hoophq

Source: github_repo_search

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
🚨
Code appears obfuscated
1 file are unreadable to a human reviewer. Cannot audit what they do.
🔐
You'll be asked for 1 credential: SEGMENT_WRITE_KEY
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes59 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

serverinfo_get

Get gateway server information including version, auth method, license info, and feature flags

access_control_set

Canonical way to restrict which user groups can access a connection — matches the webapp 'Access Control' page.

access_control_unset

Remove the access_control binding for a connection. After this call,

access_control_get

Get the list of user groups allowed to access a given connection via the access_control plugin

access_control_list

List all connections currently bound to the access_control plugin with their allowed user groups

access_request_rules_list

List all access request rules for the organization with optional pagination

access_request_rules_get

Get a single access request rule by name

access_request_rules_create

Create an approval / just-in-time access workflow rule for one or more connections — matches the webapp 'Access Request' page.

access_request_rules_update

Update an existing access request rule by name. Requires admin access

access_request_rules_delete

Delete an access request rule by name. Requires admin access. This action is irreversible

attributes_list

List attributes for the organization. Attributes are tags that group connections, access-request/guardrail/data-masking rules, and access-control groups.

attributes_get

Get a single attribute by name, including all of its associations (connections, rules, access-control groups).

attributes_create

Create a new attribute, optionally associating it with connections, rules, and access-control groups in the same call. Requires admin access.

attributes_update

Update an attribute's description and/or its associations. Requires admin access.

attributes_delete

Delete an attribute by name. Requires admin access. This action is irreversible and removes all of the attribute's associations.

connections_list

List all connections accessible to the authenticated user, with optional filters by agent, type, subtype, tag_selector, or search query

connections_get

Get a single connection by its name or ID

connections_create

Create a new connection. Requires admin access.

connections_update

Update an existing connection by name. Requires admin access. Only provided fields are updated

connections_delete

Delete a connection by name. Requires admin access. This action is irreversible

datamasking_rules_list

List all data masking rules configured for the organization

datamasking_rules_get

Get a single data masking rule by its ID

datamasking_rules_create

Create a new data masking rule with entity type detection configuration

datamasking_rules_update

Update an existing data masking rule by ID

datamasking_rules_delete

Delete a data masking rule by ID. This action is irreversible

exec

Run a one-shot command or query against a Hoop connection on behalf of the authenticated user.

guardrails_list

List all guardrail rules configured for the organization

guardrails_get

Get a single guardrail rule by its ID or name

guardrails_create

Create a new guardrail rule with input/output configurations and connection associations

guardrails_update

Update an existing guardrail rule by ID

guardrails_delete

Delete a guardrail rule by ID. This action is irreversible

me_get

Get the authenticated user's profile: email, name, user_id, org_id,

reviews_list

List all reviews (access requests) for the organization

reviews_get

Get a single review by its ID or session ID

reviews_update

Update a review status (approve, reject, or revoke). Requires membership in a reviewer group

reviews_execute

Execute a query that was blocked on an approved one-time review. Runs the originally

reviews_wait

Long-poll a review until it reaches a terminal status (APPROVED, REJECTED, REVOKED,

runbook_rules_list

List all runbook rules configured for the organization

runbook_rules_get

Get a single runbook rule by its ID

runbook_rules_create

Create a new runbook rule with user groups, connections, and allowed runbooks

runbook_rules_update

Update an existing runbook rule by ID

runbook_rules_delete

Delete a runbook rule by ID. This action is irreversible

connection_databases

List databases available on a Hoop database connection (Postgres, MySQL, MSSQL, MongoDB).

connection_tables

List tables in a given database on a Hoop database connection.

connection_columns

List columns of a specific table on a Hoop database connection, with types.

sessions_list
sessions_get

Get session details and metadata by ID. Returns metadata only, not session content or binary data

sessions_get_content

Get the input script and stdout/stderr output of a session.

sessions_get_analysis

Get Hoop's AI analysis for a session: risk level, title, explanation, recommended action.

sessions_wait_analysis

Long-poll until Hoop's AI analysis for a session is available, or the timeout elapses.

usergroups_list

List all user groups in the organization

usergroups_create

Create a user group, optionally binding it to connections and/or existing attributes in the same call.

usergroups_delete

Delete a user group by name. Cannot delete the admin group. This action is irreversible

users_list

List all users in the organization

users_get

Get a single user by their email address

search_past_sessions

Review the current user's recent sessions to judge whether the behavior under analysis is routine or anomalous.

LowRiskAISessionAnalyzer

Select when the input is safe to execute: non-destructive, scoped, and low operational/security impact.

MediumRiskAISessionAnalyzer

Select when the input could cause performance issues, service disruption, sensitive exposure, or risky-but-not-clearly-destructive changes.

HighRiskAISessionAnalyzer

Select when the input is destructive, irreversible, escalates privileges, exfiltrates data, disables defenses, or resembles exploit/persistence behavior.

// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configAPI_URL
🔐 secretSEGMENT_WRITE_KEY
configVITE_CLJS_URL
configOCR_ALLOW_CPU_FALLBACK
configOCR_REC_LANG
configOCR_REC_PRECISION
configOCR_CUDA_ARENA_STRATEGY
configOCR_DET_DOWNSCALE
configGITHUB_OUTPUT
// quality suggestions

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

59/59 tools missing one or more hints — serverinfo_get (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); access_control_set (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); access_control_unset (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +56 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Tool test coverage

Only 5/59 tools referenced in tests (8%)

Write tests that reference each tool by name so every tool has at least one test.

No eval / new Function

2 eval() or new Function() calls — dynamic code execution

Replace eval / Function with explicit parsing or safer alternatives.

Readable source code

1 file are minified or bundled, which is usually build output rather than concealment

Ship unminified, readable source.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 5 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/hoophq/hoop?variant=verified)](https://m8ven.ai/mcp/hoophq/hoop)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: e6554cfed409521adac800d67f95551b7129595e
code hash: 79c95f0e86d7a5b91ac1e6816567b9a5780d9e200b727e80b55e56e6612c0c02
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client