summaryrefslogtreecommitdiff
path: root/src/mcp/tools
diff options
context:
space:
mode:
Diffstat (limited to 'src/mcp/tools')
-rw-r--r--src/mcp/tools/health.c29
-rw-r--r--src/mcp/tools/health.h9
2 files changed, 38 insertions, 0 deletions
diff --git a/src/mcp/tools/health.c b/src/mcp/tools/health.c
new file mode 100644
index 0000000..0309ea5
--- /dev/null
+++ b/src/mcp/tools/health.c
@@ -0,0 +1,29 @@
+#include "mcp/tools/health.h"
+
+#include <mcpc/ucbr.h>
+
+static void
+health_call(const mcpc_tool_t *tool, mcpc_ucbr_t *result)
+{
+ (void)tool;
+ mcpc_ucbr_toolcall_add_text_printf8(result, (const char8_t *)"ok");
+}
+
+mcpc_tool_t *
+tiny_convmem_health_tool_create(void)
+{
+ mcpc_tool_t *tool = mcpc_tool_new2(
+ (const char8_t *)"health",
+ (const char8_t *)"Check whether the tiny conversation memory server is running"
+ );
+ if (tool == NULL)
+ {
+ return NULL;
+ }
+
+ if (mcpc_tool_set_call_cb(tool, health_call) != MCPC_EC_0)
+ {
+ return NULL;
+ }
+ return tool;
+}
diff --git a/src/mcp/tools/health.h b/src/mcp/tools/health.h
new file mode 100644
index 0000000..f4bfe0a
--- /dev/null
+++ b/src/mcp/tools/health.h
@@ -0,0 +1,9 @@
+#ifndef TINY_CONVMEM_MCP_HEALTH_H
+#define TINY_CONVMEM_MCP_HEALTH_H
+
+#include <mcpc/tool.h>
+
+mcpc_tool_t *tiny_convmem_health_tool_create(void);
+
+#endif
+