@lumenstrust/mcp-server 1.0.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/README.md ADDED
@@ -0,0 +1,304 @@
1
+ # @lumenstrust/mcp-server
2
+
3
+ MCP Server for **LumenTrust** — on-chain trust scores, programmable spending vaults, and x402 micropayments for AI agents on the Stellar network.
4
+
5
+ Give your AI (Claude, GPT, Cursor, LangChain...) the ability to **pay for data autonomously** using USDC on Stellar, while enforcing spending policies and building a verifiable reputation.
6
+
7
+ [![npm](https://img.shields.io/npm/v/@lumenstrust/mcp-server)](https://www.npmjs.com/package/@lumenstrust/mcp-server)
8
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
9
+
10
+ ---
11
+
12
+ ## What This Does
13
+
14
+ Your AI agent gets 6 tools:
15
+
16
+ | Tool | What it does |
17
+ |------|-------------|
18
+ | `agentvault_paid_fetch` | Calls any x402-paywalled API — auto-pays with USDC if needed |
19
+ | `agentvault_check_score` | Checks on-chain trust score (0–100) from Soroban smart contract |
20
+ | `agentvault_get_balance` | Checks USDC vault balance |
21
+ | `agentvault_discover` | Discovers affordable services from the LumenTrust marketplace |
22
+ | `agentvault_get_history` | Views recent payment transactions |
23
+ | `agentvault_vault_status` | Checks vault spending policy and daily/weekly limits |
24
+
25
+ ---
26
+
27
+ ## Prerequisites
28
+
29
+ 1. **Register your agent** at [lumentrust.coresolution.digital](https://lumentrust.coresolution.digital)
30
+ 2. Get a **Stellar keypair** (public key starting `G...`, secret key starting `S...`)
31
+ 3. Create a **spending vault** and deposit USDC via the dashboard
32
+
33
+ That's it. No additional API keys, no subscriptions.
34
+
35
+ ---
36
+
37
+ ## Quick Start
38
+
39
+ No installation needed. Use `npx` directly.
40
+
41
+ ### Claude Desktop
42
+
43
+ Edit: `~/Library/Application Support/Claude/claude_desktop_config.json`
44
+ (Windows: `%APPDATA%\Claude\claude_desktop_config.json`)
45
+
46
+ ```json
47
+ {
48
+ "mcpServers": {
49
+ "lumentrust": {
50
+ "command": "npx",
51
+ "args": ["-y", "@lumenstrust/mcp-server"],
52
+ "env": {
53
+ "AGENT_ID": "G_YOUR_AGENT_PUBLIC_KEY",
54
+ "AGENT_SECRET_KEY": "S_YOUR_AGENT_SECRET_KEY",
55
+ "API_URL": "https://lumentrust.coresolution.digital/api"
56
+ }
57
+ }
58
+ }
59
+ }
60
+ ```
61
+
62
+ Restart Claude Desktop. The 6 LumenTrust tools will appear automatically.
63
+
64
+ ---
65
+
66
+ ### Claude Code
67
+
68
+ Create `.claude/mcp.json` in your project root:
69
+
70
+ ```json
71
+ {
72
+ "mcpServers": {
73
+ "lumentrust": {
74
+ "command": "npx",
75
+ "args": ["-y", "@lumenstrust/mcp-server"],
76
+ "env": {
77
+ "AGENT_ID": "G_YOUR_AGENT_PUBLIC_KEY",
78
+ "AGENT_SECRET_KEY": "S_YOUR_AGENT_SECRET_KEY",
79
+ "API_URL": "https://lumentrust.coresolution.digital/api"
80
+ }
81
+ }
82
+ }
83
+ }
84
+ ```
85
+
86
+ ---
87
+
88
+ ### Cursor
89
+
90
+ Create `.cursor/mcp.json` in your project root — same config as above.
91
+
92
+ ---
93
+
94
+ ### Windsurf
95
+
96
+ Add to your Windsurf MCP settings:
97
+
98
+ ```json
99
+ {
100
+ "mcpServers": {
101
+ "lumentrust": {
102
+ "command": "npx",
103
+ "args": ["-y", "@lumenstrust/mcp-server"],
104
+ "env": {
105
+ "AGENT_ID": "G_YOUR_AGENT_PUBLIC_KEY",
106
+ "AGENT_SECRET_KEY": "S_YOUR_AGENT_SECRET_KEY",
107
+ "API_URL": "https://lumentrust.coresolution.digital/api"
108
+ }
109
+ }
110
+ }
111
+ }
112
+ ```
113
+
114
+ ---
115
+
116
+ ### LangChain / LangGraph (Python)
117
+
118
+ ```python
119
+ from langchain_mcp_adapters.client import MultiServerMCPClient
120
+
121
+ client = MultiServerMCPClient({
122
+ "lumentrust": {
123
+ "command": "npx",
124
+ "args": ["-y", "@lumenstrust/mcp-server"],
125
+ "transport": "stdio",
126
+ "env": {
127
+ "AGENT_ID": "G_YOUR_AGENT_PUBLIC_KEY",
128
+ "AGENT_SECRET_KEY": "S_YOUR_AGENT_SECRET_KEY",
129
+ "API_URL": "https://lumentrust.coresolution.digital/api"
130
+ }
131
+ }
132
+ })
133
+
134
+ tools = await client.get_tools()
135
+ ```
136
+
137
+ ---
138
+
139
+ ### Direct Node.js
140
+
141
+ ```bash
142
+ AGENT_ID=G... AGENT_SECRET_KEY=S... API_URL=https://lumentrust.coresolution.digital/api \
143
+ npx @lumenstrust/mcp-server
144
+ ```
145
+
146
+ ---
147
+
148
+ ## Environment Variables
149
+
150
+ | Variable | Required | Description |
151
+ |----------|----------|-------------|
152
+ | `AGENT_ID` | Yes | Stellar public key of your agent (`G...`) |
153
+ | `AGENT_SECRET_KEY` | Yes | Stellar secret key of your agent (`S...`) |
154
+ | `API_URL` | No | LumenTrust API base URL (default: `https://lumentrust.coresolution.digital/api`) |
155
+
156
+ ---
157
+
158
+ ## Tool Reference
159
+
160
+ ### `agentvault_paid_fetch`
161
+
162
+ Fetch data from an x402-paywalled service. If the service returns `402 Payment Required`, the tool automatically signs a USDC transaction on Stellar and retries — the AI never needs to handle payment manually.
163
+
164
+ ```
165
+ Parameters:
166
+ url (required) URL of the service
167
+ method GET | POST | PUT (default: GET)
168
+ body Request body for POST/PUT
169
+ maxAmountStroops Safety cap in stroops (1 USDC = 10,000,000 stroops)
170
+ ```
171
+
172
+ **Example prompt to Claude:**
173
+ > "Get the current weather in Jakarta using LumenTrust"
174
+
175
+ ---
176
+
177
+ ### `agentvault_check_score`
178
+
179
+ Returns the agent's on-chain trust score from the Soroban reputation contract.
180
+
181
+ Score levels: `new` (0-19) → `low` (20-34) → `neutral` (35-54) → `good` (55-69) → `trusted` (70-84) → `elite` (85-100)
182
+
183
+ **Example prompt:**
184
+ > "What is my current LumenTrust trust score?"
185
+
186
+ ---
187
+
188
+ ### `agentvault_get_balance`
189
+
190
+ Returns current USDC balance available for spending in the vault.
191
+
192
+ **Example prompt:**
193
+ > "How much USDC do I have left in my vault?"
194
+
195
+ ---
196
+
197
+ ### `agentvault_discover`
198
+
199
+ Returns services from the LumenTrust marketplace that the agent can currently afford (filtered by vault balance). Optionally filter by category.
200
+
201
+ Categories: `data`, `ai`, `analytics`, `finance`, `search`, `compute`, `iot`, `other`
202
+
203
+ **Example prompt:**
204
+ > "What services can I afford right now on LumenTrust?"
205
+
206
+ ---
207
+
208
+ ### `agentvault_get_history`
209
+
210
+ Returns recent payment transactions with outcomes, amounts, and endpoints.
211
+
212
+ **Example prompt:**
213
+ > "Show me my last 10 LumenTrust transactions"
214
+
215
+ ---
216
+
217
+ ### `agentvault_vault_status`
218
+
219
+ Returns full vault status: balance, spending limits, daily/weekly usage, circuit breaker state, whitelist mode.
220
+
221
+ **Example prompt:**
222
+ > "What are my current spending limits and how much have I spent today?"
223
+
224
+ ---
225
+
226
+ ## How Trust Scores Work
227
+
228
+ Scores are calculated from real transaction history (not manually assigned):
229
+
230
+ ```
231
+ score = 10 (base)
232
+ + 0-60 (success ratio: successfulTxs / totalTxs × 60)
233
+ + 0-20 (volume bonus: log₁₀-scaled USDC volume)
234
+ + 0-10 (consistency: ≥5 txs → +4, ≥20 → +7, ≥50 → +10)
235
+ - 3×disputed_txs
236
+ ```
237
+
238
+ **New agents get 2 free trials** per service before trust score requirements kick in.
239
+
240
+ ---
241
+
242
+ ## Available Demo Services
243
+
244
+ These x402 services are live and ready to pay from day one:
245
+
246
+ | Service | Endpoint | Price |
247
+ |---------|----------|-------|
248
+ | Real-Time Weather | `/api/weather?lat=X&lon=Y` | 0.01 USDC |
249
+ | AI Text Summarizer | `POST /api/summarize` | 0.02 USDC |
250
+ | Statistical Insights | `POST /api/insight` | 0.05 USDC |
251
+ | Live Crypto Prices | `/api/crypto` | 0.01 USDC |
252
+ | Forex Exchange Rates | `/api/forex` | 0.01 USDC |
253
+ | Tech News Headlines | `/api/news` | 0.02 USDC |
254
+ | Web Search | `/api/search?q=...` | 0.03 USDC |
255
+
256
+ All endpoints at: `https://lumentrust.coresolution.digital/demo`
257
+
258
+ ---
259
+
260
+ ## Architecture
261
+
262
+ ```
263
+ Claude / LLM
264
+
265
+ │ MCP stdio transport
266
+
267
+ @lumenstrust/mcp-server (this package)
268
+
269
+ │ HTTPS REST calls
270
+
271
+ LumenTrust API (Express + PostgreSQL)
272
+
273
+ ├── Vault policy checks (8 layers)
274
+ ├── Stellar USDC transaction signing
275
+ ├── x402 payment loop (402 → sign → retry)
276
+ └── Trust score recording (Soroban on-chain)
277
+ ```
278
+
279
+ The MCP server is intentionally thin — all complex logic (Stellar signing, vault enforcement, reputation tracking) happens in the LumenTrust API, keeping this package lightweight and dependency-free.
280
+
281
+ ---
282
+
283
+ ## Smart Contracts (Stellar Testnet)
284
+
285
+ | Contract | ID |
286
+ |---|---|
287
+ | Reputation | `CCMK53O4WNJVVXWIPNEU2CNWB4U4RLUQ4SEHFWJKH32K27F4ETRA4RND` |
288
+ | Vault | `CCRSUFIDHRB4IRZOE2DMPOQYN5DSLHVFBUUBTEA3RSBZDU5MQ2R7FYG6` |
289
+
290
+ View on [Stellar Expert](https://stellar.expert/explorer/testnet)
291
+
292
+ ---
293
+
294
+ ## Links
295
+
296
+ - **Dashboard**: [lumentrust.coresolution.digital](https://lumentrust.coresolution.digital)
297
+ - **API Docs**: [lumentrust.coresolution.digital/docs](https://lumentrust.coresolution.digital/docs)
298
+ - **npm**: [@lumenstrust/mcp-server](https://www.npmjs.com/package/@lumenstrust/mcp-server)
299
+
300
+ ---
301
+
302
+ ## License
303
+
304
+ MIT © LumenTrust
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
package/dist/index.js ADDED
@@ -0,0 +1,320 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
5
+ const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
6
+ const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
7
+ // ── Config ────────────────────────────────────────────────────────────────────
8
+ const API_URL = (process.env["API_URL"] ?? "https://lumentrust.coresolution.digital/api").replace(/\/$/, "");
9
+ const AGENT_ID = process.env["AGENT_ID"] ?? "";
10
+ const AGENT_SECRET_KEY = process.env["AGENT_SECRET_KEY"] ?? "";
11
+ // ── HTTP helper ───────────────────────────────────────────────────────────────
12
+ async function apiGet(path, agentId) {
13
+ const id = agentId ?? AGENT_ID;
14
+ const res = await fetch(`${API_URL}${path}`, {
15
+ headers: { "X-Caller-Id": id, "Content-Type": "application/json" },
16
+ signal: AbortSignal.timeout(30000),
17
+ });
18
+ if (!res.ok) {
19
+ const err = await res.json().catch(() => ({ error: res.statusText }));
20
+ throw new Error(`API ${res.status}: ${err["error"] ?? JSON.stringify(err)}`);
21
+ }
22
+ return res.json();
23
+ }
24
+ async function apiPost(path, body, agentId) {
25
+ const id = agentId ?? AGENT_ID;
26
+ const res = await fetch(`${API_URL}${path}`, {
27
+ method: "POST",
28
+ headers: { "X-Caller-Id": id, "Content-Type": "application/json" },
29
+ body: JSON.stringify(body),
30
+ signal: AbortSignal.timeout(60000),
31
+ });
32
+ const data = await res.json().catch(() => ({ error: res.statusText }));
33
+ if (!res.ok) {
34
+ throw new Error(`API ${res.status}: ${data["error"] ?? JSON.stringify(data)}`);
35
+ }
36
+ return data;
37
+ }
38
+ // ── Tool definitions ──────────────────────────────────────────────────────────
39
+ const TOOLS = [
40
+ {
41
+ name: "agentvault_paid_fetch",
42
+ description: "Fetch a URL that may require x402 micropayment. Automatically handles 402 Payment Required by signing a Stellar USDC transaction, checking vault policy, and retrying. Returns the actual service response data.",
43
+ inputSchema: {
44
+ type: "object",
45
+ properties: {
46
+ url: {
47
+ type: "string",
48
+ description: "The URL of the x402-paywalled service to call",
49
+ },
50
+ method: {
51
+ type: "string",
52
+ enum: ["GET", "POST", "PUT"],
53
+ default: "GET",
54
+ description: "HTTP method (default: GET)",
55
+ },
56
+ body: {
57
+ type: "object",
58
+ description: "Request body for POST/PUT requests",
59
+ },
60
+ maxAmountStroops: {
61
+ type: "string",
62
+ description: "Safety cap — reject if service asks for more than this (in stroops, 1 USDC = 10000000)",
63
+ },
64
+ },
65
+ required: ["url"],
66
+ },
67
+ },
68
+ {
69
+ name: "agentvault_check_score",
70
+ description: "Get the current on-chain trust score for this agent or any agent. Returns score (0-100), level label, and transaction statistics.",
71
+ inputSchema: {
72
+ type: "object",
73
+ properties: {
74
+ agent_id: {
75
+ type: "string",
76
+ description: "Stellar public key of the agent to check (defaults to this agent)",
77
+ },
78
+ },
79
+ },
80
+ },
81
+ {
82
+ name: "agentvault_get_balance",
83
+ description: "Get the current USDC balance in the agent's spending vault.",
84
+ inputSchema: {
85
+ type: "object",
86
+ properties: {
87
+ agent_id: {
88
+ type: "string",
89
+ description: "Stellar public key (defaults to this agent)",
90
+ },
91
+ },
92
+ },
93
+ },
94
+ {
95
+ name: "agentvault_discover",
96
+ description: "Discover available x402 services from the LumenTrust marketplace. Returns services the agent can currently afford based on vault balance, with prices and trust score requirements.",
97
+ inputSchema: {
98
+ type: "object",
99
+ properties: {
100
+ category: {
101
+ type: "string",
102
+ description: "Filter by category: data, ai, analytics, finance, search, compute, iot, other",
103
+ },
104
+ agent_id: {
105
+ type: "string",
106
+ description: "Stellar public key (defaults to this agent)",
107
+ },
108
+ },
109
+ },
110
+ },
111
+ {
112
+ name: "agentvault_get_history",
113
+ description: "Get recent transaction history for this agent — shows past payments, outcomes, amounts, and endpoints.",
114
+ inputSchema: {
115
+ type: "object",
116
+ properties: {
117
+ limit: {
118
+ type: "number",
119
+ description: "Number of transactions to return (default: 10, max: 50)",
120
+ default: 10,
121
+ },
122
+ agent_id: {
123
+ type: "string",
124
+ description: "Stellar public key (defaults to this agent)",
125
+ },
126
+ },
127
+ },
128
+ },
129
+ {
130
+ name: "agentvault_vault_status",
131
+ description: "Get vault status including balance, spending policy limits, cooldown settings, circuit breaker config, and daily/weekly spending windows.",
132
+ inputSchema: {
133
+ type: "object",
134
+ properties: {
135
+ agent_id: {
136
+ type: "string",
137
+ description: "Stellar public key (defaults to this agent)",
138
+ },
139
+ },
140
+ },
141
+ },
142
+ ];
143
+ // ── Handlers ──────────────────────────────────────────────────────────────────
144
+ async function handlePaidFetch(args) {
145
+ if (!AGENT_ID || !AGENT_SECRET_KEY) {
146
+ throw new Error("AGENT_ID and AGENT_SECRET_KEY environment variables are required");
147
+ }
148
+ const url = args["url"];
149
+ const method = args["method"] ?? "GET";
150
+ const body = args["body"];
151
+ const maxAmountStroops = args["maxAmountStroops"];
152
+ const result = await apiPost("/agent/pay", {
153
+ secretKey: AGENT_SECRET_KEY,
154
+ agentId: AGENT_ID,
155
+ targetUrl: url,
156
+ method,
157
+ ...(body ? { body } : {}),
158
+ ...(maxAmountStroops ? { maxAmountStroops } : {}),
159
+ });
160
+ if (result["paymentRequired"] === false) {
161
+ return JSON.stringify({
162
+ paymentRequired: false,
163
+ statusCode: result["statusCode"],
164
+ data: result["data"],
165
+ });
166
+ }
167
+ return JSON.stringify({
168
+ paymentRequired: true,
169
+ success: result["success"],
170
+ amountPaidUsdc: result["amountPaidUsdc"],
171
+ amountPaidStroops: result["amountPaidStroops"],
172
+ destination: result["destination"],
173
+ newVaultBalanceUsdc: result["newVaultBalanceUsdc"],
174
+ statusCode: result["statusCode"],
175
+ data: result["data"],
176
+ });
177
+ }
178
+ async function handleCheckScore(args) {
179
+ const agentId = args["agent_id"] ?? AGENT_ID;
180
+ if (!agentId)
181
+ throw new Error("AGENT_ID environment variable is required");
182
+ const data = await apiGet(`/agents/${agentId}/score`, agentId);
183
+ const successRate = Number(data["totalTxs"]) > 0
184
+ ? ((Number(data["successfulTxs"]) / Number(data["totalTxs"])) * 100).toFixed(1) + "%"
185
+ : "N/A";
186
+ return JSON.stringify({
187
+ agentId,
188
+ score: data["score"],
189
+ level: data["level"],
190
+ totalTxs: data["totalTxs"],
191
+ successfulTxs: data["successfulTxs"],
192
+ successRate,
193
+ interpretation: scoreInterpretation(Number(data["score"])),
194
+ });
195
+ }
196
+ function scoreInterpretation(score) {
197
+ if (score < 20)
198
+ return "New agent — 2 free trials per service, build score via successful payments";
199
+ if (score < 35)
200
+ return "Low trust — limited access to gated services";
201
+ if (score < 55)
202
+ return "Neutral — access to most services";
203
+ if (score < 70)
204
+ return "Good — solid reputation, access to premium services";
205
+ if (score < 85)
206
+ return "Trusted — high reputation, top-tier service access";
207
+ return "Elite — maximum trust, unrestricted access to all services";
208
+ }
209
+ async function handleGetBalance(args) {
210
+ const agentId = args["agent_id"] ?? AGENT_ID;
211
+ if (!agentId)
212
+ throw new Error("AGENT_ID environment variable is required");
213
+ const vault = await apiGet(`/vaults/${agentId}`, agentId);
214
+ const balanceStroops = String(vault["balanceStroops"] ?? "0");
215
+ const balanceUsdc = (Number(BigInt(balanceStroops)) / 10000000).toFixed(7).replace(/\.?0+$/, "");
216
+ return JSON.stringify({
217
+ agentId,
218
+ balanceUsdc,
219
+ balanceStroops,
220
+ });
221
+ }
222
+ async function handleDiscover(args) {
223
+ const agentId = args["agent_id"] ?? AGENT_ID;
224
+ if (!agentId)
225
+ throw new Error("AGENT_ID environment variable is required");
226
+ const category = args["category"];
227
+ const qs = new URLSearchParams({ agentId });
228
+ if (category)
229
+ qs.set("category", category);
230
+ const res = await fetch(`${API_URL}/agent/discover?${qs}`, {
231
+ headers: { "X-Caller-Id": agentId },
232
+ signal: AbortSignal.timeout(15000),
233
+ });
234
+ const data = await res.json();
235
+ return JSON.stringify(data);
236
+ }
237
+ async function handleGetHistory(args) {
238
+ const agentId = args["agent_id"] ?? AGENT_ID;
239
+ if (!agentId)
240
+ throw new Error("AGENT_ID environment variable is required");
241
+ const limit = Math.min(Number(args["limit"] ?? 10), 50);
242
+ const data = await apiGet(`/agents/${agentId}/history?limit=${limit}`, agentId);
243
+ return JSON.stringify(data);
244
+ }
245
+ async function handleVaultStatus(args) {
246
+ const agentId = args["agent_id"] ?? AGENT_ID;
247
+ if (!agentId)
248
+ throw new Error("AGENT_ID environment variable is required");
249
+ const vault = await apiGet(`/vaults/${agentId}`, agentId);
250
+ const policy = vault["policy"];
251
+ const fmt = (s) => (Number(BigInt(String(s ?? "0"))) / 10000000).toFixed(4).replace(/\.?0+$/, "") + " USDC";
252
+ return JSON.stringify({
253
+ agentId,
254
+ isPaused: vault["isPaused"],
255
+ balance: {
256
+ stroops: vault["balanceStroops"],
257
+ usdc: vault["balanceUsdc"],
258
+ },
259
+ spending: {
260
+ today: fmt(vault["spentTodayStroops"]),
261
+ thisWeek: fmt(vault["spentThisWeekStroops"]),
262
+ allTime: fmt(vault["totalSpentStroops"]),
263
+ },
264
+ policy: {
265
+ maxPerTx: fmt(policy["maxPerTx"]),
266
+ maxDaily: fmt(policy["maxDaily"]),
267
+ maxWeekly: fmt(policy["maxWeekly"]),
268
+ whitelistOnly: policy["whitelistOnly"],
269
+ minCooldownSecs: policy["minCooldownSecs"],
270
+ circuitBreakerCount: policy["circuitBreakerCount"],
271
+ requireMinScore: policy["requireMinScore"],
272
+ },
273
+ });
274
+ }
275
+ // ── Main ──────────────────────────────────────────────────────────────────────
276
+ async function main() {
277
+ const server = new index_js_1.Server({ name: "lumentrust-mcp", version: "1.0.0" }, { capabilities: { tools: {} } });
278
+ server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => ({ tools: TOOLS }));
279
+ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
280
+ const toolName = request.params.name;
281
+ const args = (request.params.arguments ?? {});
282
+ try {
283
+ let result;
284
+ switch (toolName) {
285
+ case "agentvault_paid_fetch":
286
+ result = await handlePaidFetch(args);
287
+ break;
288
+ case "agentvault_check_score":
289
+ result = await handleCheckScore(args);
290
+ break;
291
+ case "agentvault_get_balance":
292
+ result = await handleGetBalance(args);
293
+ break;
294
+ case "agentvault_discover":
295
+ result = await handleDiscover(args);
296
+ break;
297
+ case "agentvault_get_history":
298
+ result = await handleGetHistory(args);
299
+ break;
300
+ case "agentvault_vault_status":
301
+ result = await handleVaultStatus(args);
302
+ break;
303
+ default:
304
+ return { content: [{ type: "text", text: `Unknown tool: ${toolName}` }], isError: true };
305
+ }
306
+ return { content: [{ type: "text", text: result }] };
307
+ }
308
+ catch (err) {
309
+ const msg = err instanceof Error ? err.message : String(err);
310
+ return { content: [{ type: "text", text: `Error: ${msg}` }], isError: true };
311
+ }
312
+ });
313
+ const transport = new stdio_js_1.StdioServerTransport();
314
+ await server.connect(transport);
315
+ }
316
+ main().catch((err) => {
317
+ console.error("LumenTrust MCP server fatal error:", err);
318
+ process.exit(1);
319
+ });
320
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "@lumenstrust/mcp-server",
3
+ "version": "1.0.0",
4
+ "description": "MCP Server for LumenTrust — AI Agent trust, payments & vault on Stellar",
5
+ "main": "dist/index.js",
6
+ "bin": {
7
+ "lumentrust-mcp": "dist/index.js"
8
+ },
9
+ "files": [
10
+ "dist/**/*",
11
+ "README.md"
12
+ ],
13
+ "scripts": {
14
+ "build": "tsc -p tsconfig.json",
15
+ "start": "node dist/index.js",
16
+ "prepublishOnly": "npm run build"
17
+ },
18
+ "keywords": [
19
+ "mcp",
20
+ "model-context-protocol",
21
+ "stellar",
22
+ "ai-agent",
23
+ "payments",
24
+ "x402",
25
+ "lumentrust",
26
+ "claude",
27
+ "usdc",
28
+ "trust",
29
+ "reputation"
30
+ ],
31
+ "author": "LumenTrust",
32
+ "license": "MIT",
33
+ "dependencies": {
34
+ "@modelcontextprotocol/sdk": "^1.13.1"
35
+ },
36
+ "devDependencies": {
37
+ "@types/node": "^20.0.0",
38
+ "typescript": "^5.8.3"
39
+ }
40
+ }