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

Function setup_snippet_server

tests/test_mcp.c:7094–7195  ·  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

7092 * Caller must free the server with cbm_mcp_server_free and
7093 * unlink the source file + rmdir manually. */
7094static cbm_mcp_server_t *setup_snippet_server(char *tmp_dir, size_t tmp_sz) {
7095 /* Create temp dir */
7096 snprintf(tmp_dir, tmp_sz, "/tmp/cbm_snippet_test_XXXXXX");
7097 if (!cbm_mkdtemp(tmp_dir))
7098 return NULL;
7099
7100 char proj_dir[512];
7101 snprintf(proj_dir, sizeof(proj_dir), "%s/project", tmp_dir);
7102 cbm_mkdir(proj_dir);
7103
7104 /* Write sample source file */
7105 char src_path[512];
7106 snprintf(src_path, sizeof(src_path), "%s/main.go", proj_dir);
7107 FILE *fp = fopen(src_path, "w");
7108 if (!fp)
7109 return NULL;
7110 fprintf(fp, "package main\n"
7111 "\n"
7112 "func HandleRequest() error {\n"
7113 "\treturn nil\n"
7114 "}\n"
7115 "\n"
7116 "func ProcessOrder(id int) {\n"
7117 "\t// process\n"
7118 "}\n"
7119 "\n"
7120 "func Run() {\n"
7121 "\t// server\n"
7122 "}\n");
7123 fclose(fp);
7124
7125 /* Create server with in-memory store */
7126 cbm_mcp_server_t *srv = cbm_mcp_server_new(NULL);
7127 if (!srv)
7128 return NULL;
7129
7130 cbm_store_t *st = cbm_mcp_server_store(srv);
7131 if (!st) {
7132 cbm_mcp_server_free(srv);
7133 return NULL;
7134 }
7135
7136 const char *proj_name = "test-project";
7137 cbm_mcp_server_set_project(srv, proj_name);
7138 cbm_store_upsert_project(st, proj_name, proj_dir);
7139
7140 /* Create nodes */
7141 cbm_node_t n_hr = {0};
7142 n_hr.project = proj_name;
7143 n_hr.label = "Function";
7144 n_hr.name = "HandleRequest";
7145 n_hr.qualified_name = "test-project.cmd.server.main.HandleRequest";
7146 n_hr.file_path = "main.go";
7147 n_hr.start_line = 3;
7148 n_hr.end_line = 5;
7149 n_hr.properties_json = "{\"signature\":\"func HandleRequest() error\","
7150 "\"return_type\":\"error\","
7151 "\"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