@oobe-protocol-labs/sap-mcp-server 0.9.7 → 0.9.9
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/CHANGELOG.md +40 -0
- package/USER_DOCS/03_PAYMENTS_X402_PAYSH.md +6 -0
- package/USER_DOCS/04_CLIENT_CONFIGS.md +3 -3
- package/USER_DOCS/05_SKILLS_AND_TOOLS.md +17 -4
- package/USER_DOCS/06_DESKTOP_GUI_WIZARD.md +5 -5
- package/dist/core/constants.d.ts +1 -1
- package/dist/core/constants.js +1 -1
- package/dist/payments/hosted-tool-eligibility.d.ts +21 -0
- package/dist/payments/hosted-tool-eligibility.d.ts.map +1 -0
- package/dist/payments/hosted-tool-eligibility.js +167 -0
- package/dist/payments/hosted-tool-eligibility.js.map +1 -0
- package/dist/payments/monetization-gate.d.ts.map +1 -1
- package/dist/payments/monetization-gate.js +6 -0
- package/dist/payments/monetization-gate.js.map +1 -1
- package/dist/payments/pricing.d.ts.map +1 -1
- package/dist/payments/pricing.js +2 -1
- package/dist/payments/pricing.js.map +1 -1
- package/dist/prompts/context/sap-agent-context.prompt.js +13 -8
- package/dist/prompts/context/sap-agent-context.prompt.js.map +1 -1
- package/dist/prompts/context/sap-agent-start.prompt.js +1 -0
- package/dist/prompts/context/sap-agent-start.prompt.js.map +1 -1
- package/dist/prompts/registry/register-sap-agent.prompt.js +2 -2
- package/dist/prompts/registry/register-sap-agent.prompt.js.map +1 -1
- package/dist/schemas/registry.schema.d.ts +2 -2
- package/dist/tools/agent-start-tool.js +3 -1
- package/dist/tools/agent-start-tool.js.map +1 -1
- package/dist/tools/client-sdk-tools.js +2 -2
- package/dist/tools/client-sdk-tools.js.map +1 -1
- package/dist/tools/sap-sdk-tools.d.ts.map +1 -1
- package/dist/tools/sap-sdk-tools.js +318 -89
- package/dist/tools/sap-sdk-tools.js.map +1 -1
- package/dist/tools/sap-sns-tools.d.ts +2 -2
- package/dist/tools/sap-sns-tools.js +6 -6
- package/dist/tools/sap-sns-tools.js.map +1 -1
- package/docs/06_PAYMENTS_X402_AND_PAYSH.md +7 -0
- package/docs/07_ENDPOINTS_AND_CLIENTS.md +1 -1
- package/docs/09_TOOLS_SKILLS_AND_AGENT_GUIDE.md +7 -0
- package/docs/14_DESKTOP_WIZARD_RELEASE.md +1 -1
- package/package.json +1 -1
- package/server.json +3 -3
- package/skills/README.md +4 -2
- package/skills/sap-agent-registry/SKILL.md +15 -2
- package/skills/sap-defi/SKILL.md +8 -4
- package/skills/sap-discovery-indexing/SKILL.md +15 -4
- package/skills/sap-mcp/SKILL.md +15 -3
- package/skills/sap-mcp/TOOL_REFERENCE.md +11 -5
- package/skills/sap-operations/SKILL.md +4 -3
- package/skills/sap-sns/SKILL.md +16 -11
|
@@ -7,7 +7,10 @@ state, global directory listing, and agent profile inspection.
|
|
|
7
7
|
|
|
8
8
|
1. Call `sap_profile_current`.
|
|
9
9
|
2. Call `sap_get_network_overview` for ecosystem counters when needed.
|
|
10
|
-
3. Use `
|
|
10
|
+
3. Use `sap_discover_agents` with `query`, `wallet`, `protocol`, or
|
|
11
|
+
`capability` for targeted paid hosted directory reads.
|
|
12
|
+
4. Use `sap_list_all_agents` for global current agent lists and follow
|
|
13
|
+
`pagination.nextCursor` for additional pages.
|
|
11
14
|
|
|
12
15
|
## Tools
|
|
13
16
|
|
|
@@ -28,7 +31,17 @@ state, global directory listing, and agent profile inspection.
|
|
|
28
31
|
|
|
29
32
|
## Routing
|
|
30
33
|
|
|
31
|
-
-
|
|
34
|
+
- Hosted accountless SAP MCP cannot sign user-owned registry writes. If
|
|
35
|
+
`sap_register_agent`, `sap_update_agent`, or another registry write returns
|
|
36
|
+
`hosted_local_signer_required`, no x402 payment was charged; run the write on
|
|
37
|
+
the local SAP MCP profile or use a production unsigned builder/finalizer flow
|
|
38
|
+
when available.
|
|
39
|
+
- "Find XONA Agent" or "find an agent by name" means `sap_discover_agents` with
|
|
40
|
+
`query`.
|
|
41
|
+
- "Find x402 agents" means `sap_discover_agents` with
|
|
42
|
+
`hasX402Endpoint: true`.
|
|
43
|
+
- "List all agents" means `sap_list_all_agents` with a small `limit`, then
|
|
44
|
+
`pagination.nextCursor` if the user wants more.
|
|
32
45
|
- "Agent by wallet" means `sap_get_agent` or `sap_get_agent_profile`.
|
|
33
46
|
- "Is this agent live?" means `sap_is_agent_active`.
|
|
34
47
|
- "Network totals" means `sap_get_network_overview`.
|
package/skills/sap-defi/SKILL.md
CHANGED
|
@@ -40,12 +40,16 @@ staking protocols.
|
|
|
40
40
|
## Flow
|
|
41
41
|
|
|
42
42
|
1. Use quote/read tools first.
|
|
43
|
-
2.
|
|
44
|
-
`jupiter_swapInstructions
|
|
43
|
+
2. In hosted mode, prefer quote/read tools and unsigned builders such as
|
|
44
|
+
`jupiter_getOrder`, `jupiter_swapInstructions`, or supported private swap
|
|
45
|
+
builders. Direct signer tools such as `jupiter_swap`, `jupiter_smartSwap`,
|
|
46
|
+
and `jupiter_executeOrder` require a local SAP MCP profile or external
|
|
47
|
+
signer and are rejected before x402 payment on hosted accountless servers.
|
|
45
48
|
3. Explain slippage, route, token mints, amount units, and expected output.
|
|
46
49
|
4. Preview and policy-check before signing.
|
|
47
|
-
5. For any unsigned or partially signed transaction returned by
|
|
48
|
-
|
|
50
|
+
5. For any unsigned or partially signed transaction returned by hosted SAP MCP,
|
|
51
|
+
use `sap_payments_finalize_transaction`. For local SAP MCP stdio builders,
|
|
52
|
+
use `sap_preview_transaction`, `sap_sign_transaction`, and
|
|
49
53
|
`sap_submit_signed_transaction`. Do not write ad-hoc signing scripts.
|
|
50
54
|
|
|
51
55
|
## Safety
|
|
@@ -18,16 +18,27 @@ indexes, and filtered agent discovery.
|
|
|
18
18
|
|
|
19
19
|
## Rules
|
|
20
20
|
|
|
21
|
-
- Use `
|
|
22
|
-
|
|
23
|
-
`
|
|
21
|
+
- Use `sap_discover_agents` for paid hosted agent directory search. It supports
|
|
22
|
+
`query`, `wallet`, `agentPda`, `protocol`, `capability`, `capabilities`,
|
|
23
|
+
`capabilityMode`, `hasX402Endpoint`, `limit`, `cursor`, and `view`.
|
|
24
|
+
- Use `sap_list_all_agents` for global directory requests or when the user asks
|
|
25
|
+
for the whole SAP ecosystem. Keep the first page small and follow
|
|
26
|
+
`pagination.nextCursor` only when the previous page is useful.
|
|
27
|
+
- Prefer exact filters before broad scans: `wallet` when a wallet is known,
|
|
28
|
+
`query` for an agent name such as `XONA`, and `capability` for one exact
|
|
29
|
+
capability such as `creative:imageGeneration`.
|
|
24
30
|
- Use `sap_fetch_protocol_index` when the protocol ID is known.
|
|
25
31
|
- Use `sap_fetch_capability_index` when the capability ID is known.
|
|
32
|
+
- If a capability-filtered lookup returns zero results, retry with `query` or
|
|
33
|
+
`wallet` before claiming the agent does not exist; capability indexes can lag
|
|
34
|
+
the canonical AgentAccount directory.
|
|
26
35
|
- Do not guess that global enumeration is impossible; try `sap_list_all_agents`
|
|
27
|
-
first.
|
|
36
|
+
first and report the exact failure if it fails.
|
|
28
37
|
|
|
29
38
|
## Common Inputs
|
|
30
39
|
|
|
31
40
|
- Protocol IDs: `sap`, `jupiter`, `pyth`, `sns`, `mcp-v1`, or the exact
|
|
32
41
|
protocol ID returned by protocol indexes.
|
|
33
42
|
- Capability IDs usually use namespaced form such as `jupiter:swap`.
|
|
43
|
+
- For x402-enabled agents, set `hasX402Endpoint: true` and use `view:
|
|
44
|
+
"compact"` until the user selects one row.
|
package/skills/sap-mcp/SKILL.md
CHANGED
|
@@ -36,11 +36,17 @@ and error strings unchanged.
|
|
|
36
36
|
## Discovery Rules
|
|
37
37
|
|
|
38
38
|
- Use `sap_get_network_overview` for live ecosystem counters.
|
|
39
|
+
- Use `sap_discover_agents` for targeted paid hosted discovery. Prefer
|
|
40
|
+
`query`, `wallet`, `agentPda`, `protocol`, `capability`, `capabilities`,
|
|
41
|
+
`hasX402Endpoint`, and small `limit` values before broad scans.
|
|
39
42
|
- Use `sap_list_all_agents` when the user asks for all current SAP ecosystem
|
|
40
|
-
agents. It performs global on-chain `AgentAccount` enumeration
|
|
41
|
-
|
|
42
|
-
|
|
43
|
+
agents. It performs global on-chain `AgentAccount` enumeration and returns
|
|
44
|
+
`pagination.nextCursor` when more pages are available.
|
|
45
|
+
- Use `sap_list_agents` as a compatibility alias for `sap_discover_agents`.
|
|
43
46
|
- Use `sap_fetch_protocol_index` when a specific protocol ID is known.
|
|
47
|
+
- If a capability lookup returns zero results, retry with `query` or `wallet`
|
|
48
|
+
before saying an agent is absent. AgentAccount rows are canonical; indexes can
|
|
49
|
+
lag.
|
|
44
50
|
- Do not tell the user that all-agent enumeration is impossible unless
|
|
45
51
|
`sap_list_all_agents` fails and you report the exact failure.
|
|
46
52
|
|
|
@@ -169,6 +175,12 @@ another unsigned Solana transaction payload, finalize it locally with
|
|
|
169
175
|
for a user-owned signer, do not create `.js`/`.mjs` signing scripts, and do not
|
|
170
176
|
read keypair JSON.
|
|
171
177
|
|
|
178
|
+
If hosted SAP MCP returns `hosted_local_signer_required`, no x402 payment was
|
|
179
|
+
charged. The tool requires a local user signature or has no hosted unsigned
|
|
180
|
+
builder yet. Do not retry the same hosted direct write; use the local SAP MCP
|
|
181
|
+
profile or an unsigned hosted builder plus `sap_payments_finalize_transaction`
|
|
182
|
+
when one exists.
|
|
183
|
+
|
|
172
184
|
When summarizing a hosted connection, use language like:
|
|
173
185
|
"server is non-custodial; user signatures come from the local SAP profile or
|
|
174
186
|
external signer." Avoid saying "signer not configured", "read-only only",
|
|
@@ -49,9 +49,12 @@ SAP registry and discovery:
|
|
|
49
49
|
`sap_deactivate_tool`, `sap_reactivate_tool`,
|
|
50
50
|
`sap_report_tool_invocations`, `sap_report_calls`.
|
|
51
51
|
|
|
52
|
-
Use `
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
Use `sap_discover_agents` for targeted paid hosted agent search by `query`,
|
|
53
|
+
`wallet`, `agentPda`, `protocol`, `capability`, `capabilities`, or
|
|
54
|
+
`hasX402Endpoint`. Use `sap_list_all_agents` for user requests such as "give me
|
|
55
|
+
a list of all agents in the SAP ecosystem rn"; start with a small `limit` and
|
|
56
|
+
continue with `pagination.nextCursor`. If a capability lookup returns zero,
|
|
57
|
+
retry with `query` or `wallet` before reporting that the agent is absent.
|
|
55
58
|
|
|
56
59
|
SAP memory and sessions:
|
|
57
60
|
|
|
@@ -92,13 +95,16 @@ SAP SNS and direct SNS domain workflows:
|
|
|
92
95
|
`sap_sns_get_domain_records`, `sap_sns_get_record`,
|
|
93
96
|
`sap_sns_resolve_wallet`, `sap_sns_check_ownership`,
|
|
94
97
|
`sap_sns_get_domain_pda`, `sap_sns_get_record_pda`,
|
|
95
|
-
`sap_sns_build_register_domain_transaction`,
|
|
96
98
|
`sap_sns_build_manage_record_transaction`,
|
|
97
|
-
`sap_sns_build_set_primary_domain_transaction`,
|
|
98
99
|
`sap_sns_register_agent_domain`, `sns_registerDomain`, `sns_resolveDomain`,
|
|
99
100
|
`sns_reverseLookup`, `alldomains_getOwnedDomains`,
|
|
100
101
|
`alldomains_registerDomain`, `alldomains_resolveDomain`.
|
|
101
102
|
|
|
103
|
+
`sap_sns_register_agent_domain` is local-signer-only. Hosted accountless SAP MCP
|
|
104
|
+
rejects that direct write before x402 payment. For hosted record changes, use
|
|
105
|
+
`sap_sns_build_manage_record_transaction` and finalize the unsigned transaction
|
|
106
|
+
locally with `sap_payments_finalize_transaction`.
|
|
107
|
+
|
|
102
108
|
## `sap-agentkit`
|
|
103
109
|
|
|
104
110
|
Solana RPC, SPL token, pricing, DAS:
|
|
@@ -30,9 +30,10 @@ Use:
|
|
|
30
30
|
- `sap_list_agents`
|
|
31
31
|
- `sap_list_all_agents`
|
|
32
32
|
|
|
33
|
-
Use `
|
|
34
|
-
`
|
|
35
|
-
|
|
33
|
+
Use `sap_discover_agents` for targeted hosted directory reads by `query`,
|
|
34
|
+
`wallet`, `agentPda`, `protocol`, `capability`, `capabilities`, or
|
|
35
|
+
`hasX402Endpoint`. Use `sap_list_all_agents` for global current ecosystem
|
|
36
|
+
requests, keep pages small, and continue with `pagination.nextCursor`.
|
|
36
37
|
|
|
37
38
|
## Memory
|
|
38
39
|
|
package/skills/sap-sns/SKILL.md
CHANGED
|
@@ -9,15 +9,19 @@ This skill is adapted from upstream `sns-skill` plus SAP MCP's
|
|
|
9
9
|
## Safe Flow
|
|
10
10
|
|
|
11
11
|
1. Check the loaded profile with `sap_profile_current`.
|
|
12
|
-
2. Check domain availability with `sap_sns_check_domain`.
|
|
12
|
+
2. Check one domain availability for free with `sap_sns_check_domain`.
|
|
13
13
|
3. Validate records with `sap_sns_validate_records`.
|
|
14
|
-
4.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
4. For hosted record updates, build an unsigned transaction with
|
|
15
|
+
`sap_sns_build_manage_record_transaction`.
|
|
16
|
+
5. Preview and finalize hosted builder transactions locally with
|
|
17
|
+
`sap_payments_finalize_transaction`.
|
|
18
|
+
6. Register domains directly only from a local SAP MCP profile using
|
|
19
|
+
`sap_sns_register_agent_domain` after explicit user confirmation.
|
|
20
|
+
|
|
21
|
+
Hosted accountless SAP MCP cannot register a .sol domain directly because the
|
|
22
|
+
purchase requires the user wallet signature. If a hosted direct registration is
|
|
23
|
+
rejected with `hosted_local_signer_required`, no x402 payment was charged; switch
|
|
24
|
+
to the local profile flow instead of retrying the hosted write.
|
|
21
25
|
|
|
22
26
|
## Tools
|
|
23
27
|
|
|
@@ -31,9 +35,7 @@ This skill is adapted from upstream `sns-skill` plus SAP MCP's
|
|
|
31
35
|
- `sap_sns_check_ownership`
|
|
32
36
|
- `sap_sns_get_domain_pda`
|
|
33
37
|
- `sap_sns_get_record_pda`
|
|
34
|
-
- `sap_sns_build_register_domain_transaction`
|
|
35
38
|
- `sap_sns_build_manage_record_transaction`
|
|
36
|
-
- `sap_sns_build_set_primary_domain_transaction`
|
|
37
39
|
- `sap_sns_register_agent_domain`
|
|
38
40
|
- `sns_registerDomain`
|
|
39
41
|
- `sns_resolveDomain`
|
|
@@ -48,4 +50,7 @@ This skill is adapted from upstream `sns-skill` plus SAP MCP's
|
|
|
48
50
|
- Never read the local wallet file.
|
|
49
51
|
- Prefer build/preview/sign flows over direct register flows when the user
|
|
50
52
|
needs to review transaction details.
|
|
51
|
-
|
|
53
|
+
- Do not claim `sap_sns_build_register_domain_transaction` exists unless it is
|
|
54
|
+
returned by `tools/list`.
|
|
55
|
+
- Do not route hosted direct registration through x402; hosted accountless
|
|
56
|
+
servers reject local-signer writes before payment.
|