Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion manifest.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ export const plugins: readonly PluginDefinition[] = [
},
{
name: 'wallet',
version: '0.1.0',
version: '0.2.0',
description: 'Set up Tempo Wallet and make explicitly approved paid API requests.',
displayName: 'Tempo Wallet',
homepage: 'https://tempo.xyz/developers/docs/wallet/use-with-agents',
Expand All @@ -98,6 +98,12 @@ export const plugins: readonly PluginDefinition[] = [
],
brandColor: '#000000',
},
mcp: {
serverName: 'tempo-wallet',
url: 'https://wallet.tempo.xyz/mcp',
note: 'Tempo Wallet remote MCP for account reads and wallet JSON-RPC requests approved in the browser.',
registryDescription: 'Connect a Tempo Wallet account and request passkey-approved wallet actions.',
},
},
{
name: 'mercator',
Expand Down
5 changes: 3 additions & 2 deletions plugins/wallet/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
"name": "wallet",
"displayName": "Tempo Wallet",
"version": "0.1.0",
"version": "0.2.0",
"description": "Set up Tempo Wallet and make explicitly approved paid API requests.",
"author": {
"name": "Tempo"
Expand All @@ -16,5 +16,6 @@
"mpp",
"payments"
],
"skills": "./skills/"
"skills": "./skills/",
"mcpServers": "./.mcp.json"
}
3 changes: 2 additions & 1 deletion plugins/wallet/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "wallet",
"version": "0.1.0",
"version": "0.2.0",
"description": "Set up Tempo Wallet and make explicitly approved paid API requests.",
"homepage": "https://tempo.xyz/developers/docs/wallet/use-with-agents",
"repository": "https://github.com/tempoxyz/plugins",
Expand All @@ -17,6 +17,7 @@
"url": "https://tempo.xyz"
},
"skills": "./skills/",
"mcpServers": "./.mcp.json",
"interface": {
"displayName": "Tempo Wallet",
"shortDescription": "Use Tempo Wallet with explicit approvals.",
Expand Down
5 changes: 3 additions & 2 deletions plugins/wallet/.cursor-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "wallet",
"displayName": "Tempo Wallet",
"version": "0.1.0",
"version": "0.2.0",
"description": "Set up Tempo Wallet and make explicitly approved paid API requests.",
"author": {
"name": "Tempo"
Expand All @@ -16,5 +16,6 @@
"mpp",
"payments"
],
"skills": "./skills/"
"skills": "./skills/",
"mcpServers": "./.mcp.json"
}
9 changes: 9 additions & 0 deletions plugins/wallet/.mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"mcpServers": {
"tempo-wallet": {
"type": "http",
"url": "https://wallet.tempo.xyz/mcp",
"note": "Tempo Wallet remote MCP for account reads and wallet JSON-RPC requests approved in the browser."
}
}
}
9 changes: 9 additions & 0 deletions plugins/wallet/mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json",
"mcpServers": {
"tempo-wallet": {
"type": "streamable-http",
"url": "https://wallet.tempo.xyz/mcp"
}
}
}
2 changes: 1 addition & 1 deletion plugins/wallet/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "wallet",
"version": "0.1.0",
"version": "0.2.0",
"description": "Set up Tempo Wallet and make explicitly approved paid API requests.",
"homepage": "https://tempo.xyz/developers/docs/wallet/use-with-agents",
"repository": "https://github.com/tempoxyz/plugins",
Expand Down
8 changes: 8 additions & 0 deletions plugins/wallet/skills/wallet/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,14 @@ license: MIT

**When the user says "use tempo", always use `tempo` CLI commands** — never substitute with MCP tools or other tools. Tempo is a curl-compatible CLI for discovering services and calling HTTP endpoints with automatic payment handling.

## Tempo Wallet MCP

When the `tempo-wallet` MCP tools are available (for example in ChatGPT or Codex), use them for account and signing actions; keep using the `tempo` CLI for paid HTTP requests.

- Tools are named after wallet JSON-RPC methods (`eth_accounts`, `personal_sign`, `eth_sendTransaction`, `wallet_transfer`, `wallet_swap`, …) and take that method's `params` array.
- `eth_accounts` and `eth_chainId` answer immediately. Every other tool returns `approval_url` and `user_code`: show both to the user, then poll `wallet_getRequest` with `request_id` until the status is `approved`, `error`, `rejected`, or `expired`.
- Nothing executes until the user approves with their passkey on the approval page. Never ask for private keys or recovery phrases.

## Network status

- Tempo Mainnet has been live since March 18, 2026. Its chain ID is `4217`.
Expand Down
13 changes: 13 additions & 0 deletions registry/wallet/server.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"name": "xyz.tempo/wallet",
"title": "Tempo Wallet",
"description": "Connect a Tempo Wallet account and request passkey-approved wallet actions.",
"version": "0.2.0",
"remotes": [
{
"type": "streamable-http",
"url": "https://wallet.tempo.xyz/mcp"
}
]
}
5 changes: 3 additions & 2 deletions test/build-manifests.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -135,14 +135,15 @@ describe('findManifestDrift', () => {
// Arrange
const directory = temporaryDirectory()
writeManifests(directory)
const path = join(directory, 'plugins/wallet/mcp.json')
const path = join(directory, 'plugins/retired/mcp.json')
mkdirSync(dirname(path), { recursive: true })
writeFileSync(path, '{}\n')

// Act
const drift = findManifestDrift(directory)

// Assert
expect(drift).toContain('plugins/wallet/mcp.json: unexpected')
expect(drift).toContain('plugins/retired/mcp.json: unexpected')
})
})

Expand Down
10 changes: 8 additions & 2 deletions test/fixtures/golden/gemini/wallet/gemini-extension.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
{
"name": "wallet",
"version": "0.1.0",
"description": "Set up Tempo Wallet and make explicitly approved paid API requests."
"version": "0.2.0",
"description": "Set up Tempo Wallet and make explicitly approved paid API requests.",
"mcpServers": {
"tempo-wallet": {
"httpUrl": "https://wallet.tempo.xyz/mcp",
"timeout": 600000
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
"name": "wallet",
"displayName": "Tempo Wallet",
"version": "0.1.0",
"version": "0.2.0",
"description": "Set up Tempo Wallet and make explicitly approved paid API requests.",
"author": {
"name": "Tempo"
Expand All @@ -16,5 +16,6 @@
"mpp",
"payments"
],
"skills": "./skills/"
"skills": "./skills/",
"mcpServers": "./.mcp.json"
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "wallet",
"version": "0.1.0",
"version": "0.2.0",
"description": "Set up Tempo Wallet and make explicitly approved paid API requests.",
"homepage": "https://tempo.xyz/developers/docs/wallet/use-with-agents",
"repository": "https://github.com/tempoxyz/plugins",
Expand All @@ -17,6 +17,7 @@
"url": "https://tempo.xyz"
},
"skills": "./skills/",
"mcpServers": "./.mcp.json",
"interface": {
"displayName": "Tempo Wallet",
"shortDescription": "Use Tempo Wallet with explicit approvals.",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "wallet",
"displayName": "Tempo Wallet",
"version": "0.1.0",
"version": "0.2.0",
"description": "Set up Tempo Wallet and make explicitly approved paid API requests.",
"author": {
"name": "Tempo"
Expand All @@ -16,5 +16,6 @@
"mpp",
"payments"
],
"skills": "./skills/"
"skills": "./skills/",
"mcpServers": "./.mcp.json"
}
9 changes: 9 additions & 0 deletions test/fixtures/golden/manifests/plugins/wallet/.mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"mcpServers": {
"tempo-wallet": {
"type": "http",
"url": "https://wallet.tempo.xyz/mcp",
"note": "Tempo Wallet remote MCP for account reads and wallet JSON-RPC requests approved in the browser."
}
}
}
9 changes: 9 additions & 0 deletions test/fixtures/golden/manifests/plugins/wallet/mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json",
"mcpServers": {
"tempo-wallet": {
"type": "streamable-http",
"url": "https://wallet.tempo.xyz/mcp"
}
}
}
2 changes: 1 addition & 1 deletion test/fixtures/golden/manifests/plugins/wallet/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "wallet",
"version": "0.1.0",
"version": "0.2.0",
"description": "Set up Tempo Wallet and make explicitly approved paid API requests.",
"homepage": "https://tempo.xyz/developers/docs/wallet/use-with-agents",
"repository": "https://github.com/tempoxyz/plugins",
Expand Down
13 changes: 13 additions & 0 deletions test/fixtures/golden/manifests/registry/wallet/server.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"name": "xyz.tempo/wallet",
"title": "Tempo Wallet",
"description": "Connect a Tempo Wallet account and request passkey-approved wallet actions.",
"version": "0.2.0",
"remotes": [
{
"type": "streamable-http",
"url": "https://wallet.tempo.xyz/mcp"
}
]
}
Loading