@true402.dev/mcp-server 0.2.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -21,13 +21,13 @@ const SERVER_URL = process.env.SERVER_URL ?? "https://true402.dev/api";
21
21
  const WALLET_PRIVATE_KEY = process.env.WALLET_PRIVATE_KEY;
22
22
  const server = new McpServer({
23
23
  name: "true402",
24
- version: "0.2.2",
24
+ version: "0.3.0",
25
25
  });
26
26
  // Register tools
27
27
  registerModelsTool(server, SERVER_URL);
28
28
  registerChatTool(server, SERVER_URL, WALLET_PRIVATE_KEY);
29
- // Non-LLM paid stalls: seo_audit, web_extract, link_preview,
30
- // robots_check, headers_check (all x402-gated, USDC on Base).
29
+ // Non-LLM paid stalls: seo_audit, web_extract, link_preview, robots_check,
30
+ // headers_check, token_safety (all x402-gated, USDC on Base).
31
31
  registerStallTools(server, SERVER_URL, WALLET_PRIVATE_KEY);
32
32
  // Start server with stdio transport
33
33
  async function main() {
@@ -1,6 +1,6 @@
1
1
  import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  /**
3
- * Register all five non-LLM paid stalls (seo_audit, web_extract, link_preview,
4
- * robots_check, headers_check) on the given MCP server.
3
+ * Register all six non-LLM paid stalls (seo_audit, web_extract, link_preview,
4
+ * robots_check, headers_check, token_safety) on the given MCP server.
5
5
  */
6
6
  export declare function registerStallTools(server: McpServer, baseUrl: string, walletPrivateKey: string | undefined): void;
@@ -31,8 +31,8 @@ const urlField = z
31
31
  .url()
32
32
  .describe("Absolute http(s) URL of the page to process");
33
33
  /**
34
- * Register all five non-LLM paid stalls (seo_audit, web_extract, link_preview,
35
- * robots_check, headers_check) on the given MCP server.
34
+ * Register all six non-LLM paid stalls (seo_audit, web_extract, link_preview,
35
+ * robots_check, headers_check, token_safety) on the given MCP server.
36
36
  */
37
37
  export function registerStallTools(server, baseUrl, walletPrivateKey) {
38
38
  // 1. SEO + GEO audit.
@@ -104,4 +104,31 @@ export function registerStallTools(server, baseUrl, walletPrivateKey) {
104
104
  inputSchema: { url: urlField },
105
105
  buildBody: ({ url }) => ({ url }),
106
106
  });
107
+ // 6. On-chain token safety — rug/honeypot pre-check for a Base ERC-20.
108
+ registerStall(server, baseUrl, walletPrivateKey, {
109
+ toolName: "token_safety",
110
+ path: "/v1/token-safety",
111
+ description: "Rug/honeypot safety check for an ERC-20 token on Base (on-chain reads, no " +
112
+ "API key): ERC-20 conformance, ownership renounce, mint capability, WETH/USDC " +
113
+ "liquidity depth (Uniswap V3 + Aerodrome), and a buy/sell honeypot simulation " +
114
+ "(a gas-free eth_call that round-trips a tiny WETH→token→WETH trade to catch " +
115
+ "tokens you can buy but not sell). Returns a 0-100 score + risk band + flags. " +
116
+ "PAID x402 service (USDC on Base) — needs a funded wallet on the MCP server.",
117
+ inputSchema: {
118
+ token: z
119
+ .string()
120
+ .regex(/^0x[a-fA-F0-9]{40}$/, "must be a 0x-prefixed 20-byte ERC-20 address")
121
+ .describe("ERC-20 contract address (0x…) on Base"),
122
+ chain: z
123
+ .literal("base")
124
+ .optional()
125
+ .describe("Chain to check; only 'base' is supported (default)"),
126
+ },
127
+ buildBody: ({ token, chain }) => {
128
+ const body = { token };
129
+ if (chain !== undefined)
130
+ body.chain = chain;
131
+ return body;
132
+ },
133
+ });
107
134
  }
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@true402.dev/mcp-server",
3
- "version": "0.2.2",
3
+ "version": "0.3.0",
4
4
  "mcpName": "dev.true402/mcp-server",
5
- "description": "MCP server for the true402 machine-native marketplace — pay-per-call AI + web tools over x402 (USDC on Base): LLM inference, SEO/GEO audit, web extract, link preview, robots/AI-crawler check, security headers.",
5
+ "description": "MCP server for the true402 machine-native marketplace — pay-per-call AI + web tools over x402 (USDC on Base): LLM inference, SEO/GEO audit, web extract, link preview, robots/AI-crawler check, security headers, on-chain token safety (rug/honeypot check).",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
8
8
  "bin": {