Tenuo MCP Server

by tenuo-ai• 104•• Scanned•Claim this listing•Request removal
Finance & Tradinga2aaccess controlagent securityagentsai agents

Task-scoped authorization for AI agents. Cryptographic warrants constrain tools and arguments, prevent privilege escalation at every delegation hop, and produce signed evidence of what was allowed or denied.

Tenuo is an open-source mcp server by tenuo-ai, written mainly in Rust, with 104 GitHub stars and the Apache-2.0 license. Its code was last updated Oct 31, 2026.

Scan summary: scanned Nov 5, 2026 at commit e03dca6. Seen able to read environment and secrets, connect to the internet. Scan policy

Scanned
Full scan at e03dca6 · Nov 5, 2026
Scanned
Static code scanwarn
Secrets scanfail
Dependency audit29 known vulnerabilitieswarn
Manifestnonewarn
Buildn/a
Boot & handshaken/a
Network egressn/a
Reproducible (×3)n/a

Findings (52)

  • high
    secrets issue
    Details are available to the maintainer after claiming this listing.
  • medium
    Contacts a hard-coded IP address instead of a domain name.
    tenuo-python/tenuo/constraints.py:45
  • medium
    Contacts a hard-coded IP address instead of a domain name.
    tenuo-python/tenuo/templates.py:225
  • medium
    Contacts a hard-coded IP address instead of a domain name.
    tenuo-python/tenuo/templates.py:238
  • medium
    Contacts a hard-coded IP address instead of a domain name.
    tenuo-python/tenuo/templates.py:267
  • medium
    httpcore2@2.9.1: 1 known vulnerability
    PYSEC-2026-3844
    benchmarks/agentdojo/requirements.txt
  • medium
    httpx2@2.9.1: 5 known vulnerabilities
    PYSEC-2026-3845, PYSEC-2026-3846, PYSEC-2026-3847, PYSEC-2026-3848, PYSEC-2026-3849
    benchmarks/agentdojo/requirements.txt
  • low
    In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
    benchmarks/escalation/fuzz.py:334
  • low
    In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
    benchmarks/escalation/fuzz.py:336
  • low
    In tests/examples/docs: Touches a sensitive credential location (SSH keys, cloud credentials, browser data or wallets). Expected for some tools, such as browser automation; check why.
    benchmarks/escalation/scenarios.py:147
  • low
    In tests/examples/docs: Touches a sensitive credential location (SSH keys, cloud credentials, browser data or wallets). Expected for some tools, such as browser automation; check why.
    benchmarks/multiagent/tasks.py:571
  • low
    In tests/examples/docs: Touches a sensitive credential location (SSH keys, cloud credentials, browser data or wallets). Expected for some tools, such as browser automation; check why.
    benchmarks/multiagent/tasks.py:595
  • low
    In tests/examples/docs: Touches a sensitive credential location (SSH keys, cloud credentials, browser data or wallets). Expected for some tools, such as browser automation; check why.
    benchmarks/multiagent/tasks.py:616
  • low
    In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
    tenuo-python/examples/a2a/demo.py:393
  • low
    In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
    tenuo-python/examples/a2a/demo.py:419
  • low
    In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
    tenuo-python/examples/autogen_demo_guardbuilder_tier1.py:194
  • low
    In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
    tenuo-python/examples/autogen_demo_guardbuilder_tier2.py:204
  • low
    In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
    tenuo-python/examples/autogen_demo_protected_attenuation.py:344
  • low
    In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
    tenuo-python/examples/autogen_demo_protected_tools.py:303
  • low
    In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
    tenuo-python/examples/autogen_demo_unprotected.py:256
  • low
    In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
    tenuo-python/examples/blog_demos/map_territory/map_vs_territory.py:363
  • low
    In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
    tenuo-python/examples/crewai/research_team_demo.py:791
  • low
    In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
    tenuo-python/examples/crewai/research_team_demo.py:793
  • low
    In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
    tenuo-python/examples/crewai/research_team_demo.py:796
  • low
    In tests/examples/docs: Runs shell commands. Fine for some tools, but it means the agent can run anything your user can.
    tenuo-python/examples/langchain/integration.py:115
  • low
    In tests/examples/docs: Executes dynamically built code (eval / exec).
    tenuo-python/examples/langchain/integration.py:212
  • low
    In tests/examples/docs: Touches a sensitive credential location (SSH keys, cloud credentials, browser data or wallets). Expected for some tools, such as browser automation; check why.
    tenuo-python/examples/local_llm_demo/demo.py:204
  • low
    In tests/examples/docs: Touches a sensitive credential location (SSH keys, cloud credentials, browser data or wallets). Expected for some tools, such as browser automation; check why.
    tenuo-python/examples/local_llm_demo/payloads.py:36
  • low
    In tests/examples/docs: Contacts a hard-coded IP address instead of a domain name.
    tenuo-python/examples/openai/guardrails.py:230
  • low
    Possible example credential in docs/tests: private-key
    2 matches in this file
    benchmarks/multiagent/tasks.py:521
  • low
    Possible example credential in docs/tests: generic-api-key
    3 matches in this file
    benchmarks/multiagent/tasks.py:662
  • low
    Possible example credential in docs/tests: generic-api-key
    docs/spec/test-vectors.md:414
  • low
    Possible example credential in docs/tests: jwt
    644 matches in this file
    ietf/vectors/aat-jws-vectors.md:443
  • low
    Possible example credential in docs/tests: generic-api-key
    4 matches in this file
    tenuo-explorer/src/__tests__/InputValidation.test.ts:196
  • low
    Possible example credential in docs/tests: generic-api-key
    tenuo-python/examples/jit_warrant_demo/tools.py:89
  • low
    Possible example credential in docs/tests: generic-api-key
    tenuo-python/examples/langchain/mcp_integration.py:178
  • low
    Possible example credential in docs/tests: generic-api-key
    2 matches in this file
    tenuo-python/tests/adapters/test_a2a.py:2589
  • low
    Possible example credential in docs/tests: generic-api-key
    tenuo-python/tests/adapters/test_a2a_adversarial.py:1040
  • low
    Possible example credential in docs/tests: generic-api-key
    tenuo-python/tests/adapters/test_crewai_adversarial.py:584
  • low
    Possible example credential in docs/tests: jwt
    1673 matches in this file
    tests/vectors/aat-jws-vectors.json:175
  • low
    opentelemetry-api@1.9.1: 1 known vulnerability
    GHSA-xcq7-p3pf-p88h
    benchmarks/agentdojo/requirements.txt
  • low
    tokio@1.53.1: 1 known vulnerability
    RUSTSEC-2026-0386
    tenuo-core/Cargo.lock
  • low
    unsafe-libyaml@0.2.11: 4 known vulnerabilities
    RUSTSEC-2024-0449, RUSTSEC-2024-0449, RUSTSEC-2024-0449, RUSTSEC-2024-0449
    tenuo-core/Cargo.lock
  • low
    tokio@1.52.3: 1 known vulnerability
    RUSTSEC-2026-0386
    tenuo-python/Cargo.lock
  • low
    @hono/node-server@1.19.17: 1 known vulnerability
    GHSA-rmxm-3fg6-px4f
    tenuo-ts/pnpm-lock.yaml
  • low
    fast-uri@3.1.8: 4 known vulnerabilities
    GHSA-333x-w4r6-6crp, GHSA-w74x-v6f9-j3xg, GHSA-wjr9-j795-jxcr, GHSA-xhq7-xmqj-769h
    tenuo-ts/pnpm-lock.yaml
  • low
    hono@4.13.5: 2 known vulnerabilities
    GHSA-5r4p-p66f-jhc7, GHSA-hxh3-vqpv-xpqv
    tenuo-ts/pnpm-lock.yaml
  • low
    ip-address@10.7.0: 3 known vulnerabilities
    GHSA-h3mg-xc3c-68pw, GHSA-j6r3-76f7-8jcv, GHSA-rxp7-6hxx-x8q5
    tenuo-ts/pnpm-lock.yaml
  • low
    minimatch@10.2.6: 1 known vulnerability
    GHSA-g3hv-75wg-m249
    tenuo-ts/pnpm-lock.yaml
  • low
    qs@6.15.1: 4 known vulnerabilities
    GHSA-4mjr-xmp4-gh2g, GHSA-6pq8-jhm2-2vcw, GHSA-q8mj-m7cp-5q26, GHSA-x5fp-wj9c-mxmx
    tenuo-ts/pnpm-lock.yaml
  • low
    qs@6.16.0: 1 known vulnerability
    GHSA-6pq8-jhm2-2vcw
    tenuo-ts/pnpm-lock.yaml
  • low
    No manifest declaring network access and environment variables (agent.json)

Automated result for the commit shown. See our scan policy. View the scan log

Maintainers can claim the listing to rescan, or dispute a result.

Tenuo alternatives

View more →

Similar mcp servers in Finance & Trading, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.

NameStarsLicenceLast updatedScan
Tenuo (this page)
tenuo-ai
104Apache-2.0Oct 31, 2026Scanned, no flagged issues
QuantDinger
OpenByteInc
13kApache-2.0Nov 1, 2026Scanned, no flagged issues
FinanceToolkit
JerBouma
5.5kMITNov 1, 2026Scanned, no flagged issues
Tradingview MCP
atilaahmettaner
5.2kMITOct 29, 2026Scanned, no flagged issues
Aktools
akfamily
1.5kMITNov 1, 2026Scanned, no flagged issues
Tradememory Protocol
mnemox-ai
1.4kMITOct 23, 2026Scanned, no flagged issues