@attesso/mcp 1.0.3 → 1.1.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 +5 -5
- package/dist/bin/attesso-mcp.d.ts +1 -1
- package/dist/bin/attesso-mcp.js +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/server.d.ts +3 -2
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +5 -5
- package/dist/src/server.js.map +1 -1
- package/package.json +8 -5
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @attesso/mcp
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Model Context Protocol server for Attesso settlement operations. Works with any MCP-compatible AI assistant:
|
|
4
4
|
|
|
5
5
|
- Claude Desktop
|
|
6
6
|
- Cursor
|
|
@@ -27,7 +27,7 @@ Add to your MCP client's configuration. For Claude Desktop (`~/Library/Applicati
|
|
|
27
27
|
"command": "npx",
|
|
28
28
|
"args": ["@attesso/mcp"],
|
|
29
29
|
"env": {
|
|
30
|
-
"ATTESSO_API_KEY": "
|
|
30
|
+
"ATTESSO_API_KEY": "rk_test_..."
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
}
|
|
@@ -59,7 +59,7 @@ Restart Claude Desktop after updating the configuration.
|
|
|
59
59
|
|
|
60
60
|
| Variable | Description | Required |
|
|
61
61
|
|----------|-------------|----------|
|
|
62
|
-
| `ATTESSO_API_KEY` |
|
|
62
|
+
| `ATTESSO_API_KEY` | Restricted API key (`rk_test_*` or `rk_live_*`) | Yes |
|
|
63
63
|
| `ATTESSO_BASE_URL` | Custom API URL | No |
|
|
64
64
|
| `ATTESSO_MANDATE_ID` | Default mandate ID for all operations | No |
|
|
65
65
|
| `ATTESSO_READ_ONLY` | Set to `"true"` to disable write operations | No |
|
|
@@ -82,7 +82,7 @@ await server.connect(transport);
|
|
|
82
82
|
|
|
83
83
|
## Security Notes
|
|
84
84
|
|
|
85
|
-
1. **API Keys**: Only use
|
|
85
|
+
1. **API Keys**: Only use restricted keys (`rk_test_*` for development, `rk_live_*` for production) with MCP. Never use management keys (`sk_mgmt_*`).
|
|
86
86
|
|
|
87
87
|
2. **Mandate Creation**: Mandates require user biometric authentication (FaceID/TouchID) and cannot be created via MCP. The user must pre-authorize a mandate before the AI assistant can use it.
|
|
88
88
|
|
|
@@ -90,7 +90,7 @@ await server.connect(transport);
|
|
|
90
90
|
```json
|
|
91
91
|
{
|
|
92
92
|
"env": {
|
|
93
|
-
"ATTESSO_API_KEY": "
|
|
93
|
+
"ATTESSO_API_KEY": "rk_test_...",
|
|
94
94
|
"ATTESSO_READ_ONLY": "true"
|
|
95
95
|
}
|
|
96
96
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Run with: npx @attesso/mcp
|
|
6
6
|
*
|
|
7
7
|
* Configuration via environment variables:
|
|
8
|
-
* - ATTESSO_API_KEY: Your Attesso
|
|
8
|
+
* - ATTESSO_API_KEY: Your Attesso restricted API key (rk_test_* or rk_live_*)
|
|
9
9
|
* - ATTESSO_BASE_URL: Optional custom API URL
|
|
10
10
|
* - ATTESSO_MANDATE_ID: Optional default mandate ID
|
|
11
11
|
* - ATTESSO_READ_ONLY: Set to "true" for read-only mode
|
package/dist/bin/attesso-mcp.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Run with: npx @attesso/mcp
|
|
6
6
|
*
|
|
7
7
|
* Configuration via environment variables:
|
|
8
|
-
* - ATTESSO_API_KEY: Your Attesso
|
|
8
|
+
* - ATTESSO_API_KEY: Your Attesso restricted API key (rk_test_* or rk_live_*)
|
|
9
9
|
* - ATTESSO_BASE_URL: Optional custom API URL
|
|
10
10
|
* - ATTESSO_MANDATE_ID: Optional default mandate ID
|
|
11
11
|
* - ATTESSO_READ_ONLY: Set to "true" for read-only mode
|
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.js
CHANGED
package/dist/src/server.d.ts
CHANGED
|
@@ -8,16 +8,17 @@ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
|
8
8
|
export interface AttessoMCPServerConfig {
|
|
9
9
|
/**
|
|
10
10
|
* Attesso API key. Falls back to ATTESSO_API_KEY env var.
|
|
11
|
-
* Only accepts
|
|
11
|
+
* Only accepts restricted keys (rk_test_* or rk_live_*) for security.
|
|
12
12
|
*/
|
|
13
13
|
apiKey?: string;
|
|
14
14
|
/**
|
|
15
|
-
* Base URL for the Attesso API.
|
|
15
|
+
* Base URL for the Attesso API. Falls back to ATTESSO_API_URL env var.
|
|
16
16
|
* @default "https://api.attesso.com"
|
|
17
17
|
*/
|
|
18
18
|
baseUrl?: string;
|
|
19
19
|
/**
|
|
20
20
|
* If provided, use this mandate ID for all operations.
|
|
21
|
+
* Falls back to ATTESSO_MANDATE_ID env var.
|
|
21
22
|
* Useful for pre-configured agents with a known mandate.
|
|
22
23
|
*/
|
|
23
24
|
mandateId?: string;
|
package/dist/src/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAwBnE,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAwBnE,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,GAAE,sBAA2B,GAAG,MAAM,CAmIlF"}
|
package/dist/src/server.js
CHANGED
|
@@ -32,15 +32,15 @@ import { getToolByName, getReadOnlyTools, getAllTools, } from './tools.js';
|
|
|
32
32
|
*/
|
|
33
33
|
export function createAttessoMCPServer(config = {}) {
|
|
34
34
|
const apiKey = config.apiKey ?? process.env.ATTESSO_API_KEY;
|
|
35
|
-
// Validate API key format (only
|
|
36
|
-
if (apiKey && !apiKey.startsWith('
|
|
37
|
-
console.error('
|
|
35
|
+
// Validate API key format (only restricted keys allowed for agents)
|
|
36
|
+
if (apiKey && !apiKey.startsWith('rk_test_') && !apiKey.startsWith('rk_live_')) {
|
|
37
|
+
console.error('Error: Attesso MCP server requires restricted keys (rk_test_* or rk_live_*)');
|
|
38
38
|
}
|
|
39
39
|
const client = new AttessoClient({
|
|
40
40
|
apiKey,
|
|
41
|
-
baseUrl: config.baseUrl,
|
|
41
|
+
baseUrl: config.baseUrl ?? process.env.ATTESSO_API_URL,
|
|
42
42
|
});
|
|
43
|
-
const defaultMandateId = config.mandateId;
|
|
43
|
+
const defaultMandateId = config.mandateId ?? process.env.ATTESSO_MANDATE_ID;
|
|
44
44
|
const readOnlyMode = config.readOnlyMode ?? false;
|
|
45
45
|
// Get tools based on mode
|
|
46
46
|
const availableTools = readOnlyMode ? getReadOnlyTools() : getAllTools();
|
package/dist/src/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAEvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAEL,aAAa,EACb,gBAAgB,EAChB,WAAW,GACZ,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@attesso/mcp",
|
|
3
|
-
"version": "1.0
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "Model Context Protocol server for Attesso. Enables autonomous transaction capabilities for MCP-compliant agents.",
|
|
5
5
|
"author": "Attesso",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -36,15 +36,18 @@
|
|
|
36
36
|
"mcp",
|
|
37
37
|
"model-context-protocol",
|
|
38
38
|
"ai-agents",
|
|
39
|
-
"
|
|
39
|
+
"settlement",
|
|
40
|
+
"fido2",
|
|
41
|
+
"webauthn",
|
|
42
|
+
"hardware-attestation",
|
|
40
43
|
"claude",
|
|
41
44
|
"llm"
|
|
42
45
|
],
|
|
43
46
|
"dependencies": {
|
|
44
47
|
"@modelcontextprotocol/sdk": "^1.25.0",
|
|
45
48
|
"zod-to-json-schema": "^3.23.0",
|
|
46
|
-
"@attesso/sdk": "1.0
|
|
47
|
-
"@attesso/types": "1.0.
|
|
49
|
+
"@attesso/sdk": "1.1.0",
|
|
50
|
+
"@attesso/types": "1.0.7"
|
|
48
51
|
},
|
|
49
52
|
"peerDependencies": {
|
|
50
53
|
"zod": ">=3.25.0"
|