Skip to content

Commit dfae2c7

Browse files
committed
release firmware
1 parent 6b99f2c commit dfae2c7

10 files changed

Lines changed: 809 additions & 7 deletions

File tree

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
# Standard git attributes file
22
# No LFS tracking
3+
executables/version.txt !text !filter !merge !diff

.pnp.cjs

Lines changed: 41 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

executables/version.txt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1-
version https://git-lfs.github.com/spec/v1
2-
oid sha256:fde5bc1103fad2ad0131aded18e7ea7a557ea635d7a452818e178d82a71cda44
3-
size 90
1+
# Ollama Version 0.3.2
2+
3+
### source:
4+
https://github.com/ollama/ollama/releases/tag/v0.3.2
5+

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
"devDependencies": {
2222
"@commitlint/cli": "^17.3.0",
2323
"@commitlint/config-conventional": "^17.3.0",
24+
"@types/express": "^5.0.2",
2425
"@yarnpkg/sdks": "^3.0.0-rc.31",
2526
"eslint": "^8.28.0",
2627
"prettier": "^2.3.2",

packages/keepkey-desktop/package.json

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "keepkey-desktop",
3-
"version": "3.0.32",
3+
"version": "3.0.34",
44
"author": {
55
"name": "KeepKey",
66
"email": "support@keepkey.com"
@@ -50,9 +50,7 @@
5050
"entitlementsInherit": "entitlements.mac.plist",
5151
"mergeASARs": false,
5252
"notarize": {
53-
"teamId": "DR57X8Z394",
54-
"appleId": "${process.env.APPLE_ID}",
55-
"appleIdPassword": "${process.env.APPLE_APP_SPECIFIC_PASSWORD}",
53+
"appBundleId": "com.keepkey.desktop",
5654
"ascProvider": "DR57X8Z394"
5755
},
5856
"target": [
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# KeepKey MCP Server
2+
3+
This module implements a Model Control Protocol (MCP) server for KeepKey Desktop. The MCP server provides a standardized interface for interacting with KeepKey devices through Server-Sent Events (SSE) and JSON-RPC.
4+
5+
## Overview
6+
7+
The MCP server exposes endpoints that allow clients to:
8+
9+
1. Connect via SSE for real-time communication
10+
2. Send JSON-RPC requests to perform actions on the KeepKey device
11+
3. Access information about the device and supported operations
12+
13+
## Endpoints
14+
15+
- `/mcp` - SSE endpoint for establishing a persistent connection
16+
- `/mcp/message?sessionId={sessionId}` - JSON-RPC endpoint for sending commands
17+
18+
## Available Tools
19+
20+
The MCP server provides the following tool categories:
21+
22+
### System Tools
23+
- `keepkey-mcp_system-getFeatures` - Get device features information
24+
- `keepkey-mcp_system-getPublicKey` - Get public key for a specific path
25+
- `keepkey-mcp_system-ping` - Confirm device connectivity
26+
27+
### Ethereum Tools
28+
- `keepkey-mcp_eth-signTransaction` - Sign an Ethereum transaction
29+
- `keepkey-mcp_eth-signTypedData` - Sign EIP-712 typed data
30+
31+
### UTXO Tools
32+
- `keepkey-mcp_utxo-getAddress` - Get address from device
33+
- `keepkey-mcp_utxo-signTransaction` - Sign a UTXO-based transaction
34+
35+
## Usage
36+
37+
The MCP server is automatically started alongside the existing TSOA server in KeepKey Desktop. Clients can connect to the MCP server to perform operations on the connected KeepKey device.
38+
39+
## Example Client
40+
41+
```javascript
42+
// Connect to the MCP server via SSE
43+
const eventSource = new EventSource('http://localhost:1646/mcp');
44+
let mcpEndpoint;
45+
46+
// Listen for the endpoint event
47+
eventSource.addEventListener('endpoint', (event) => {
48+
mcpEndpoint = event.data;
49+
console.log('MCP Message endpoint:', mcpEndpoint);
50+
51+
// Once we have the endpoint, initialize the connection
52+
initializeMcp();
53+
});
54+
55+
async function initializeMcp() {
56+
// Initialize the MCP connection
57+
const response = await fetch(mcpEndpoint, {
58+
method: 'POST',
59+
headers: { 'Content-Type': 'application/json' },
60+
body: JSON.stringify({
61+
jsonrpc: '2.0',
62+
id: 1,
63+
method: 'initialize'
64+
})
65+
});
66+
67+
// Handle the response
68+
const result = await response.json();
69+
console.log('Initialize response:', result);
70+
}
71+
72+
// Listen for SSE messages
73+
eventSource.addEventListener('message', (event) => {
74+
const data = JSON.parse(event.data);
75+
console.log('Received message:', data);
76+
});
77+
```
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"name": "keepkey-mcp",
3+
"version": "1.0.0",
4+
"description": "KeepKey MCP Server",
5+
"main": "server.ts",
6+
"types": "server.ts",
7+
"dependencies": {
8+
"express": "^4.17.1"
9+
}
10+
}

0 commit comments

Comments
 (0)