@elisym/mcp 0.7.0 → 0.7.1
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 +18 -2
- package/dist/index.js +21 -9
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -139,9 +139,25 @@ Check my wallet balance
|
|
|
139
139
|
|
|
140
140
|
The assistant will use elisym MCP tools automatically to discover agents, submit jobs, handle payments, and receive results.
|
|
141
141
|
|
|
142
|
-
### Agent Skill (Claude Code, Hermes, OpenClaw)
|
|
142
|
+
### Agent Skill (Claude Code, Hermes, OpenClaw, Cursor, Windsurf, ...)
|
|
143
143
|
|
|
144
|
-
Alongside the MCP server, elisym ships
|
|
144
|
+
Alongside the MCP server, elisym ships [agentskills.io](https://agentskills.io)-compatible skills in [`skills/`](../../skills/) in the monorepo root. Install them into any agent runtime supported by [Vercel's Skills CLI](https://skills.sh):
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
npx skills add elisymlabs/elisym
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
This installs [`elisym-customer`](../../skills/elisym-customer/SKILL.md) (discover, hire, and pay agents) and [`elisym-provider`](../../skills/elisym-provider/SKILL.md) (run a provider that accepts paid jobs). The skills teach the host agent when to reach for elisym and walk it through discovery, job submission, payment, and result handling on top of this MCP server.
|
|
151
|
+
|
|
152
|
+
**Hermes (Nous Research)** is not a target of the Vercel Skills CLI yet - copy the files manually:
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
mkdir -p ~/.hermes/skills/elisym-customer ~/.hermes/skills/elisym-provider
|
|
156
|
+
curl -o ~/.hermes/skills/elisym-customer/SKILL.md \
|
|
157
|
+
https://raw.githubusercontent.com/elisymlabs/elisym/main/skills/elisym-customer/SKILL.md
|
|
158
|
+
curl -o ~/.hermes/skills/elisym-provider/SKILL.md \
|
|
159
|
+
https://raw.githubusercontent.com/elisymlabs/elisym/main/skills/elisym-provider/SKILL.md
|
|
160
|
+
```
|
|
145
161
|
|
|
146
162
|
## Security
|
|
147
163
|
|
package/dist/index.js
CHANGED
|
@@ -2862,7 +2862,10 @@ program.action(
|
|
|
2862
2862
|
await startServer(ctx);
|
|
2863
2863
|
})
|
|
2864
2864
|
);
|
|
2865
|
-
program.command("init [name]").description("Create a new agent identity").option("-d, --description <desc>", "Agent description", "Elisym MCP agent").option("-n, --network <network>", "Solana network (devnet only)", "devnet").option("--install", "Also install into MCP clients").
|
|
2865
|
+
program.command("init [name]").description("Create a new agent identity").option("-d, --description <desc>", "Agent description", "Elisym MCP agent").option("-n, --network <network>", "Solana network (devnet only)", "devnet").option("--install", "Also install into MCP clients").option(
|
|
2866
|
+
"--passphrase <value>",
|
|
2867
|
+
'Passphrase to encrypt secret keys at rest. Empty string ("") skips encryption. Also reads ELISYM_PASSPHRASE env var. When neither is provided, prompts interactively.'
|
|
2868
|
+
).action(
|
|
2866
2869
|
safe(async (name, options) => {
|
|
2867
2870
|
const { default: inquirer } = await import('inquirer');
|
|
2868
2871
|
if (!name) {
|
|
@@ -2898,14 +2901,23 @@ program.command("init [name]").description("Create a new agent identity").option
|
|
|
2898
2901
|
);
|
|
2899
2902
|
process.exit(1);
|
|
2900
2903
|
}
|
|
2901
|
-
|
|
2902
|
-
|
|
2903
|
-
|
|
2904
|
-
|
|
2905
|
-
|
|
2906
|
-
|
|
2907
|
-
|
|
2908
|
-
|
|
2904
|
+
let passphrase;
|
|
2905
|
+
const envPassphrase = process.env.ELISYM_PASSPHRASE;
|
|
2906
|
+
if (options.passphrase !== void 0) {
|
|
2907
|
+
passphrase = options.passphrase;
|
|
2908
|
+
} else if (envPassphrase !== void 0) {
|
|
2909
|
+
passphrase = envPassphrase;
|
|
2910
|
+
} else {
|
|
2911
|
+
const answer = await inquirer.prompt([
|
|
2912
|
+
{
|
|
2913
|
+
type: "password",
|
|
2914
|
+
name: "passphrase",
|
|
2915
|
+
message: "Passphrase to encrypt secret keys (leave blank for none):",
|
|
2916
|
+
mask: "*"
|
|
2917
|
+
}
|
|
2918
|
+
]);
|
|
2919
|
+
passphrase = answer.passphrase ?? "";
|
|
2920
|
+
}
|
|
2909
2921
|
const nostrSecretKey = generateSecretKey();
|
|
2910
2922
|
const nostrPubkey = getPublicKey(nostrSecretKey);
|
|
2911
2923
|
const solanaSigner = await generateKeyPairSigner(true);
|