Unifai SDKBLOCK
unifai-sdk-js is the Javascript/Typescript SDK for Unifai, an AI native platform for dynamic tools and agent to agent communication.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://mseep.ai/app/unifai-network-unifai-sdk-js)
unifai-sdk-js is the JavaScript/TypeScript SDK for UnifAI, an AI native platform for dynamic tools and agent to agent communication.
Installation
npm install unifai-sdk
Getting your UnifAI API key
You can get your API key for free from UnifAI Console.
There are two types of API keys:
- Agent API key: for using toolkits in your own agents.
- Toolkit API key: for creating toolkits that can be used by other agents.
Using tools
To use tools in your agents, you need an agent API key. You can get an agent API key for free at UnifAI Console.
import { Tools } from 'unifai-sdk';
const tools = new Tools({ apiKey: 'xxx' });Tool Types
UnifAI provides a flexible system for integrating AI tools in your applications:
Dynamic Tools
Dynamic tools are enabled by default, allowing agents to discover and use tools on-the-fly based on the task at hand. Tools will not be visible to agents directly. Instead, agents will see two functions only: one to search tools, one to use tools. Agents will be able to search for tools based on semantic query, get a list of relevant tools, and use tools dynamically.
// Enable dynamic tools (default behavior)
const dynamicTools = await tools.getTools({ dynamicTools: true });Static Toolkits
Static toolkits allow you to specify entire toolkits to be exposed to agents so they can be used without search.
const staticTools = await tools.getTools({
dynamicTools: false, // Optional: disable dynamic tools
staticToolkits: ["1", "2"]
});You can find available toolkits at https://console.unifai.network/toolkits.
Static Actions
Static actions provide granular control, allowing you to specify individual act
74736fd13242OBSERVED · 2026-10-07Connect
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 unifai-sdk --env ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} --env EVM_PRIVATE_KEY=${EVM_PRIVATE_KEY} --env SOLANA_PRIVATE_KEY=${SOLANA_PRIVATE_KEY} --env UNIFAI_AGENT_API_KEY=${UNIFAI_AGENT_API_KEY} -- npx -y [email protected]{
"mcpServers": {
"unifai-sdk": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}",
"EVM_PRIVATE_KEY": "${EVM_PRIVATE_KEY}",
"SOLANA_PRIVATE_KEY": "${SOLANA_PRIVATE_KEY}",
"UNIFAI_AGENT_API_KEY": "${UNIFAI_AGENT_API_KEY}"
}
}
}
}Exposed tools (2)
2 read · 0 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
EchoChamber | read | What |
TestAction | read | desc |
Trust audit
BLOCKgrade D · trust 69/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) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (5 observation(s))
- Shell
- declared (1 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (13)
const parsed = yaml.load(content);
import { BACKEND_API_ENDPOINT } from '../../common/const';import { ToolsAPI } from '../../tools/api';jest.mock('../../tools/api');import { ToolsAPI } from '../../tools/api';jest.mock('../../tools/api');'0xf86c8085012a05f200825208940000000000000000000000000000000000000000018025a0e74e8b1cd6cf28e89e0a32f4b8e74dac56c8c8e4c4f4d6f6c8d3e2f3c5b8a7d6a01a98f6f3a3eb05f6f9d2e9c7b3f8c1d4f9e7c2a5b8d1f4e6c3a9b2d8f
atob(tx.base64)
atob(tx.base64)
atob(transaction.base64)
binaryString = atob(str);
atob(tx.base64)
bs58, commander, js-yaml, @modelcontextprotocol/sdk, @nktkas/hyperliquid, @polymarket/clob-client-v2, @solana/web3.js, axios
Gates applied: no_behavioural_pass.
74736fd13242full audit observations/trust-audit/mcp-server/unifai-network__unifai-sdk-1.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-07 | 74736fd13242 | BLOCK | D | 69 | first audit |
Questions
What is the Unifai SDK MCP server?
unifai-sdk-js is the Javascript/Typescript SDK for Unifai, an AI native platform for dynamic tools and agent to agent communication.
What tools does Unifai SDK expose?
2 in total: 2 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is Unifai SDK safe to connect to an agent?
No — not without reading the findings first. The audit graded it D (69/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on.
What credentials does Unifai SDK need?
It reads ANTHROPIC_API_KEY, EVM_PRIVATE_KEY, SOLANA_PRIVATE_KEY, UNIFAI_AGENT_API_KEY and UNIFAI_TOOLKIT_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 Unifai SDK run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as unifai-sdk at 1.0.6.
How current is this page?
The grade is for one exact copy of the source (74736fd13242), read on 2026-10-07. The repository is watched and re-audited when it changes.