@zerotoallai/sdk
v0.1.1
Published
JavaScript SDK for zerotoall - the shared trust layer for AI agents
Maintainers
Readme
@zerotoallai/sdk
JavaScript/TypeScript SDK for zerotoall - the shared trust layer for AI agents.
Welcome. Let's check if your server belongs in the shared reality.
Install
npm install @zerotoallai/sdkUsage
import { zerotoall } from '@zerotoallai/sdk';
// Check a single server
const result = await zerotoall.check('@playwright/mcp');
console.log(result.signal); // 'green' | 'yellow' | 'red'
console.log(result.score); // 90
console.log(result.proceed); // true
// Check multiple servers
const batch = await zerotoall.checkBatch([
'@playwright/mcp',
'@modelcontextprotocol/server-filesystem',
]);
console.log(batch.allSafe); // true if all green
console.log(batch.overallSignal); // minimum signal
// Simple trust check
if (await zerotoall.shouldTrust('@some/mcp-server')) {
// proceed
}
// Get baseline
const baseline = await zerotoall.baseline();
console.log(baseline.average); // 86
console.log(baseline.count); // 159Configuration
import { ZerotoallSDK } from '@zerotoallai/sdk';
const sdk = new ZerotoallSDK({
threshold: 80, // Custom proceed threshold (default: 70)
timeout: 5000, // Request timeout in ms (default: 10000)
githubToken: '...', // For contributions
});
// Or configure singleton
zerotoall.configure({ threshold: 80 });API
zerotoall.check(packageName)
Check if a server belongs in the shared reality.
Returns:
name- Package namescore- Trust score (0-100)signal- 'green' | 'yellow' | 'red'proceed- Boolean based on thresholdvsBaseline- Score vs ecosystem averageisFirstDiscovery- True if not in baseline
zerotoall.checkBatch(packageNames)
Check multiple servers at once.
zerotoall.baseline()
Get ecosystem baseline stats.
zerotoall.shouldTrust(packageName)
Simple boolean: should you trust this server?
zerotoall.contribute(packageName, score, signal)
Contribute a discovery (requires GitHub token).
zerotoall.history(packageName, period?)
Get evaluation history and drift data.
const history = await zerotoall.history('@playwright/mcp', '30d');
console.log(history.drift.d7); // +2 (7d change)
console.log(history.drift.trend); // 'improving' | 'stable' | 'declining'
console.log(history.contributors); // ['user1', 'user2']zerotoall.leaderboard(options?)
Get contributor leaderboard.
const board = await zerotoall.leaderboard({
period: '7d',
metric: 'discoveries',
limit: 10,
});
board.leaderboard.forEach(c => {
console.log(`#${c.rank} ${c.login}: ${c.discoveryScore}`);
});zerotoall.profile(login)
Get contributor profile.
const profile = await zerotoall.profile('0xjunkim');
console.log(profile.stats.totalBridged); // 42
console.log(profile.stats.discoveryScore); // 156
console.log(profile.badges); // [{id, name, emoji}]License
MIT
