github TypeScript analyzed 3d24993

rakxdev/RodeX

github

RodexDB — your own database platform: per-app keys & tables on DynamoDB, one clean API + MCP for every coding agent. Serverless, TypeScript, $0 forever (AWS always-free + Cloudflare free tier).

maintainer
rakxdev
license
NOASSERTION
first seen
2026-08-10
last seen
2026-08-12
releases · 30d
8
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 26 tools
transport stdio counts 26 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • batch_get_item
  • batch_put_item
  • create_app
  • create_table
  • delete_app
  • delete_item
  • delete_table
  • force_delete_app
  • get_app
  • get_app_usage
  • get_instructions
  • get_item
  • get_platform_capacity
  • health
  • increment_item
  • list_apps
  • list_tables
  • put_item
  • query
  • recover_app
  • resume_app
  • rotate_app_key
  • set_platform_capacity
  • suspend_app
  • update_item
  • view_app_key
code evidence vv0.5.0 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 74

filesystem 4

  • fs rakxdev-RodeX-3d24993/packages/rodexdb/build.mjs :7 import { mkdirSync, rmSync } from "node:fs";
  • fs (weak) rakxdev-RodeX-3d24993/scripts/check-stale-strings.mjs :6 import { readdirSync, readFileSync, statSync } from "node:fs";
  • fs (weak) rakxdev-RodeX-3d24993/scripts/generate-contract.mjs :13 import { readFileSync, writeFileSync, mkdirSync } from "node:fs";
  • fs (weak) rakxdev-RodeX-3d24993/scripts/validate-contract.mjs :10 import { readFileSync } from "node:fs";

shell / exec 2

  • shell (weak) rakxdev-RodeX-3d24993/packages/rodex-mcp/test/cli.test.ts :8 import { spawn, type ChildProcess } from "node:child_process";
  • shell rakxdev-RodeX-3d24993/packages/rodexdb/build.mjs :6 import { execSync } from "node:child_process";

network 15

  • net rakxdev-RodeX-3d24993/dashboard/src/api/client.ts :145 res = await fetch(BASE + path, {
  • net rakxdev-RodeX-3d24993/dashboard/src/pages/LandingPage.tsx :19 fetch(`${gatewayBase}/v1/health`)
  • net rakxdev-RodeX-3d24993/gateway/src/oauth.ts :88 const tokenRes = await fetch(GH_TOKEN, {
  • net rakxdev-RodeX-3d24993/gateway/src/rate-do.ts :16 async fetch(request: Request): Promise<Response> {
  • net rakxdev-RodeX-3d24993/gateway/src/rate.ts :105 const res = await stub.fetch("https://rl/", {
  • net rakxdev-RodeX-3d24993/gateway/src/storage-aws.ts :68 res = await this.aws.fetch(ENDPOINT, {
  • net (weak) rakxdev-RodeX-3d24993/gateway/test/admin.test.ts :30 const res = await handler.fetch(
  • net (weak) rakxdev-RodeX-3d24993/gateway/test/api.test.ts :2 * api.test.ts — full-stack integration via app.fetch() against MockStorage
  • net (weak) rakxdev-RodeX-3d24993/gateway/test/mcp.test.ts :32 const res = await handler.fetch(
  • net (weak) rakxdev-RodeX-3d24993/gateway/test/mcpkeys.test.ts :29 const res = await handler.fetch(
  • net (weak) rakxdev-RodeX-3d24993/gateway/test/rate.test.ts :100 const res = await do_.fetch(new Request("https://rl/", {
  • net rakxdev-RodeX-3d24993/packages/rodex-mcp/src/cli.ts :79 const res = await fetch(url, {
  • net (weak) rakxdev-RodeX-3d24993/packages/rodex-mcp/test/cli.test.ts :6 import { createServer, type Server } from "node:http";
  • net rakxdev-RodeX-3d24993/packages/rodexdb/src/index.ts :179 const res = await fetch(`${this.url}${path}`, {
  • net (weak) rakxdev-RodeX-3d24993/packages/rodexdb/test/sdk.test.ts :8 import { createServer, type Server } from "node:http";

secrets 2

  • secrets (weak) rakxdev-RodeX-3d24993/examples/sdk-bot.mjs :17 const apiKey = process.env.RODEX_API_KEY;
  • secrets rakxdev-RodeX-3d24993/packages/rodex-mcp/src/cli.ts :118 let key = process.env.RODEX_MCP_KEY ?? "";

tool registrations 26

  • health rakxdev-RodeX-3d24993/gateway/src/mcp.ts :172
  • get_instructions rakxdev-RodeX-3d24993/gateway/src/mcp.ts :189
  • list_apps rakxdev-RodeX-3d24993/gateway/src/mcp.ts :198
  • get_app rakxdev-RodeX-3d24993/gateway/src/mcp.ts :211
  • get_app_usage rakxdev-RodeX-3d24993/gateway/src/mcp.ts :224
  • list_tables rakxdev-RodeX-3d24993/gateway/src/mcp.ts :238
  • get_item rakxdev-RodeX-3d24993/gateway/src/mcp.ts :252
  • batch_get_item rakxdev-RodeX-3d24993/gateway/src/mcp.ts :269
  • query rakxdev-RodeX-3d24993/gateway/src/mcp.ts :291
  • get_platform_capacity rakxdev-RodeX-3d24993/gateway/src/mcp.ts :318
  • set_platform_capacity rakxdev-RodeX-3d24993/gateway/src/mcp.ts :332
  • create_app rakxdev-RodeX-3d24993/gateway/src/mcp.ts :348
  • delete_app rakxdev-RodeX-3d24993/gateway/src/mcp.ts :369
  • suspend_app rakxdev-RodeX-3d24993/gateway/src/mcp.ts :385
  • resume_app rakxdev-RodeX-3d24993/gateway/src/mcp.ts :401
  • recover_app rakxdev-RodeX-3d24993/gateway/src/mcp.ts :417
  • force_delete_app rakxdev-RodeX-3d24993/gateway/src/mcp.ts :433
  • rotate_app_key rakxdev-RodeX-3d24993/gateway/src/mcp.ts :450
  • view_app_key rakxdev-RodeX-3d24993/gateway/src/mcp.ts :467
  • create_table rakxdev-RodeX-3d24993/gateway/src/mcp.ts :498
  • delete_table rakxdev-RodeX-3d24993/gateway/src/mcp.ts :515
  • put_item rakxdev-RodeX-3d24993/gateway/src/mcp.ts :532
  • batch_put_item rakxdev-RodeX-3d24993/gateway/src/mcp.ts :562
  • increment_item rakxdev-RodeX-3d24993/gateway/src/mcp.ts :592
  • update_item rakxdev-RodeX-3d24993/gateway/src/mcp.ts :619
  • delete_item rakxdev-RodeX-3d24993/gateway/src/mcp.ts :648

declared dependencies 6

  • @cloudflare/workers-types@^5.20260807.2
  • @eslint/js@^10.0.1
  • @types/node@^26.2.0
  • eslint@^10.8.1
  • typescript-eslint@^8.66.0
  • vite@^8.2.1