MCP AnyBLOCK
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
Elevator Pitch
What is this? MCP Any is the Universal Adapter for AI agents. Why does it exist? It empowers developers to build secure, capability-enabled APIs (REST, gRPC, GraphQL, Command-line) through lightweight YAML/JSON configurations, serving as an ultimate universal bridge and eliminating the need to write custom boilerplate adapters. It acts as the backbone of interoperable autonomous systems.
Architecture
MCP Any relies on a "Configuration over Code" pattern. Users deploy a single binary which reads dynamically loaded capability definitions. The architecture supports gRPC, OpenAPI, HTTP, GraphQL, and CLI tools seamlessly without touching the underlying source code.
Key Design Patterns & Features:
- Dynamic Tool Registration: Add and modify capabilities purely via configuration files at runtime.
- Safety Policies: Robust constraint engines and safety layers designed to restrict arbitrary code execution and contain side effects safely.
- Upstream Authentication: Out-of-the-box identity federation with various standard identity providers.
- Multi-Tenant Isolation: Safe-by-default execution spaces that maintain boundary domains between differing agent systems.
High-Level Flow
graph TD
classDef agent fill:#f9f,stroke:#333,stroke-width:2px;
classDef core fill:#bbf,stroke:#333,stroke-width:2px;
classDef target fill:#bfb,stroke:#333,stroke-width:2px;
A[Client Application / Agent Framework]:::agent -->|Model Context Protocol| B(MCP Any Adapter Hub):::core
subgraph Config [Capability Configurations]
B --> C{Dynamic Router}
end
C -->|REST/OpenAPI Specs| D[REST/HTTP API]:::target
C -->|Protobuf/Reflection| E[gRPC Service]:::target
C -->|GraphQL Schema| F[GraphQL Endpoint]:::target
C -->|Standard I/O| G[Command Line Tools]:::targetGetting Started
Follow these step-by-step instructions t
3517ea122951OBSERVED · 2026-10-10Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add nextn --env MCPANY_API_KEY=${MCPANY_API_KEY} -- npx -y [email protected]{
"mcpServers": {
"nextn": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"MCPANY_API_KEY": "${MCPANY_API_KEY}"
}
}
}
}Exposed tools (47)
43 read · 4 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
ALLOWED_PATH | read | Path to expose (e.g. /home/user/projects) |
Cloudflare | read | Manage Cloudflare resources. |
DB_PATH | read | Path to SQLite database file |
Everything | read | Reference server with all MCP features. |
Filesystem | write | Read/Write access to local files and directories. |
GITHUB_PERSONAL_ACCESS_TOKEN | read | Personal Access Token (classic or fine-grained) |
GitHub | read | Access GitHub repositories, issues, and pull requests. |
Linear | read | Linear issue tracking integration |
PostgreSQL | read | Connect to a PostgreSQL database. |
Puppeteer | read | Browser automation and scraping. |
SQLite | read | Query and manage SQLite databases. |
Sentry | read | Access Sentry issues and errors. |
Slack | read | Interact with Slack channels and messages. |
Test | read | Test |
Time | read | Check the current time in any timezone. |
calculator | write | Performs basic arithmetic operations (add, subtract, multiply, divide) |
calculator_add | write | Add two numbers |
db_query | write | Run a database query |
diff_test_tool | read | Test diffing |
disabled-tool | read | A disabled tool |
echo | read | Echoes back the input message |
echo_tool | read | Echoes back input |
get_user | read | Get user details |
get_users | read | Returns a list of users in a table |
get_weather | read | Get weather for a location |
ghost_tool | read | Heavy and unused |
heavy_tool | read | A very heavy tool |
light_tool | read | Light |
list_directory | read | List files in a directory |
new_tool | read | New Tool Description |
process_payment | read | Process a payment via Stripe. |
read_file | read | Read a file |
repeated_string | read | list of strings |
say | read | Says a message using cowsay. |
special-tool | read | A very special tool |
system_info | read | Returns basic system information (simulated) |
test-prompt | read | A test prompt |
test-tool | read | A test tool |
test_tool | read | A test tool |
tool-1 | read | A test tool |
tool-2 | read | Description 2 |
tool-3 | read | Description 3 |
tool1 | read | Tool 1 |
tool2 | read | Tool 2 |
tool3 | read | Tool 3 |
used_tool | read | Used |
weather | read | Get current weather for a location |
Trust audit
BLOCKgrade F · trust 31/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | FAIL |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (3 observation(s))
- Network
- declared (6 observation(s))
- Shell
- declared (6 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (25)
data = yaml.load(jsonContent);
const parsed = yaml.load(value) as UpstreamServiceConfig;
yaml.load(value);
const collection = yaml.load(value) as any;
const doc = yaml.load(value) as any || {};dangerousCalls := []string{"system(", "exec(", "popen(", "eval("}if baseLower == "id_rsa" || baseLower == "id_dsa" || baseLower == "id_ed25519" || baseLower == "id_ecdsa" || baseLower == "id_rsa.key" || baseLower == "id_dsa.key" {- DSN=postgres://hydra:secret@postgres:5432/hydra?sslmode=disable&max_conns=20&max_idle_conns=4
- DSN=postgres://hydra:secret@postgres:5432/hydra?sslmode=disable&max_conns=20&max_idle_conns=4
"default": "postgresql://postgres:postgres@localhost:5432/postgres"
**Context:** Today's market sync revealed a new "Shadow Context Injection" pattern where malicious state fragments can bypass safety evaluations if the evaluator lacks full context visibility.
As AI agents move toward deeper autonomy, "Tool Gating" (blocking a specific call) is becoming insufficient. Malicious instructions can manipulate an agent's reasoning loop to "hallucinate" authorizat
const state = Math.random().toString(36).substring(7); // Temporary client-side state for session key?
"Base-URL Hijack Protection (Exfiltration Guard)",
"UDP Beacon Discovery Listener",
--endpoint http://127.0.0.1:4445 \
input: "postgres://user:p#ssword@host:5432/db",
input: "postgres://user:p?ssword@host:5432/db",
apiKey: "CHANGE_ME_IN_PRODUCTION" # WARN: Default value. Change this in production!
api_key: "your-datadog-api-key"
const secret = "dGVzdC1zZWNyZXQtMTIz" //nolint:gosec // base64("test-secret-123")const secret = "dGVzdC1zZWNyZXQtMTIz" //nolint:gosec
{ token: "delimiter.parenthesis", foreground: "f8f8f2" },-----BEGIN PRIVATE KEY-----
-----BEGIN PRIVATE KEY-----
Gates applied: instruction_override, no_behavioural_pass.
3517ea122951full audit observations/trust-audit/mcp-server/mcpany__mcp-any.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-10 | 3517ea122951 | BLOCK | F | 31 | first audit |
Questions
What tools does MCP Any expose?
47 in total: 43 read-only, 4 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is MCP Any safe to connect to an agent?
No — not without reading the findings first. The audit graded it F (31/100) and found 12 critical or high issues in the source. Each one is listed on this page with the file and line it is on.
What credentials does MCP Any need?
It reads MCPANY_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does MCP Any run?
It speaks sse, stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as nextn at 0.1.0.
How current is this page?
The grade is for one exact copy of the source (3517ea122951), read on 2026-10-10. The repository is watched and re-audited when it changes.