upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/main/mcp_handler.h
diff options
context:
space:
mode:
Diffstat (limited to 'main/mcp_handler.h')
-rw-r--r--main/mcp_handler.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/main/mcp_handler.h b/main/mcp_handler.h
new file mode 100644
index 0000000..e42b5ee
--- /dev/null
+++ b/main/mcp_handler.h
@@ -0,0 +1,36 @@
1#ifndef MCP_HANDLER_H
2#define MCP_HANDLER_H
3
4#include <stdint.h>
5#include <stdbool.h>
6
7typedef enum {
8 MCP_TOOL_GET_CONFIG = 0,
9 MCP_TOOL_SET_CONFIG = 1,
10 MCP_TOOL_GET_BALANCE = 2,
11 MCP_TOOL_WALLET_SEND = 3,
12 MCP_TOOL_UNKNOWN = 99
13} mcp_tool_t;
14
15typedef struct {
16 mcp_tool_t tool;
17 char method[64];
18 char params_json[1024];
19} mcp_request_t;
20
21typedef struct {
22 bool success;
23 char result_json[2048];
24 char error[256];
25} mcp_response_t;
26
27mcp_tool_t mcp_parse_tool(const char *method);
28
29mcp_response_t mcp_handle_get_config(void);
30mcp_response_t mcp_handle_set_config(const char *params_json);
31mcp_response_t mcp_handle_get_balance(void);
32mcp_response_t mcp_handle_wallet_send(const char *params_json);
33
34mcp_response_t mcp_dispatch(const mcp_request_t *req);
35
36#endif