MCPcopy Create free account
hub / github.com/DeusData/codebase-memory-mcp / setup_snippet_server

Function setup_snippet_server

tests/test_mcp.c:7242–7343  ·  view source on GitHub ↗

Create an MCP server pre-populated with nodes/edges matching Go testSnippetServer. * Writes a source file to tmp_dir/project/main.go. * Caller must free the server with cbm_mcp_server_free and * unlink the source file + rmdir manually. */

Source from the content-addressed store, hash-verified

7240 * Caller must free the server with cbm_mcp_server_free and
7241 * unlink the source file + rmdir manually. */
7242static cbm_mcp_server_t *setup_snippet_server(char *tmp_dir, size_t tmp_sz) {
7243 /* Create temp dir */
7244 snprintf(tmp_dir, tmp_sz, "/tmp/cbm_snippet_test_XXXXXX");
7245 if (!cbm_mkdtemp(tmp_dir))
7246 return NULL;
7247
7248 char proj_dir[512];
7249 snprintf(proj_dir, sizeof(proj_dir), "%s/project", tmp_dir);
7250 cbm_mkdir(proj_dir);
7251
7252 /* Write sample source file */
7253 char src_path[512];
7254 snprintf(src_path, sizeof(src_path), "%s/main.go", proj_dir);
7255 FILE *fp = fopen(src_path, "w");
7256 if (!fp)
7257 return NULL;
7258 fprintf(fp, "package main\n"
7259 "\n"
7260 "func HandleRequest() error {\n"
7261 "\treturn nil\n"
7262 "}\n"
7263 "\n"
7264 "func ProcessOrder(id int) {\n"
7265 "\t// process\n"
7266 "}\n"
7267 "\n"
7268 "func Run() {\n"
7269 "\t// server\n"
7270 "}\n");
7271 fclose(fp);
7272
7273 /* Create server with in-memory store */
7274 cbm_mcp_server_t *srv = cbm_mcp_server_new(NULL);
7275 if (!srv)
7276 return NULL;
7277
7278 cbm_store_t *st = cbm_mcp_server_store(srv);
7279 if (!st) {
7280 cbm_mcp_server_free(srv);
7281 return NULL;
7282 }
7283
7284 const char *proj_name = "test-project";
7285 cbm_mcp_server_set_project(srv, proj_name);
7286 cbm_store_upsert_project(st, proj_name, proj_dir);
7287
7288 /* Create nodes */
7289 cbm_node_t n_hr = {0};
7290 n_hr.project = proj_name;
7291 n_hr.label = "Function";
7292 n_hr.name = "HandleRequest";
7293 n_hr.qualified_name = "test-project.cmd.server.main.HandleRequest";
7294 n_hr.file_path = "main.go";
7295 n_hr.start_line = 3;
7296 n_hr.end_line = 5;
7297 n_hr.properties_json = "{\"signature\":\"func HandleRequest() error\","
7298 "\"return_type\":\"error\","
7299 "\"is_exported\":true}";

Callers 1

test_mcp.cFile · 0.85

Calls 8

cbm_mkdtempFunction · 0.85
cbm_mcp_server_newFunction · 0.85
cbm_mcp_server_storeFunction · 0.85
cbm_mcp_server_freeFunction · 0.85
cbm_store_upsert_projectFunction · 0.85
cbm_store_upsert_nodeFunction · 0.85
cbm_store_insert_edgeFunction · 0.85

Tested by

no test coverage detected