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

Function setup_snippet_server

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

7776 * Caller must free the server with cbm_mcp_server_free and
7777 * unlink the source file + rmdir manually. */
7778static cbm_mcp_server_t *setup_snippet_server(char *tmp_dir, size_t tmp_sz) {
7779 /* Create temp dir */
7780 snprintf(tmp_dir, tmp_sz, "/tmp/cbm_snippet_test_XXXXXX");
7781 if (!cbm_mkdtemp(tmp_dir))
7782 return NULL;
7783
7784 char proj_dir[512];
7785 snprintf(proj_dir, sizeof(proj_dir), "%s/project", tmp_dir);
7786 cbm_mkdir(proj_dir);
7787
7788 /* Write sample source file */
7789 char src_path[512];
7790 snprintf(src_path, sizeof(src_path), "%s/main.go", proj_dir);
7791 FILE *fp = fopen(src_path, "w");
7792 if (!fp)
7793 return NULL;
7794 fprintf(fp, "package main\n"
7795 "\n"
7796 "func HandleRequest() error {\n"
7797 "\treturn nil\n"
7798 "}\n"
7799 "\n"
7800 "func ProcessOrder(id int) {\n"
7801 "\t// process\n"
7802 "}\n"
7803 "\n"
7804 "func Run() {\n"
7805 "\t// server\n"
7806 "}\n");
7807 fclose(fp);
7808
7809 /* Create server with in-memory store */
7810 cbm_mcp_server_t *srv = cbm_mcp_server_new(NULL);
7811 if (!srv)
7812 return NULL;
7813
7814 cbm_store_t *st = cbm_mcp_server_store(srv);
7815 if (!st) {
7816 cbm_mcp_server_free(srv);
7817 return NULL;
7818 }
7819
7820 const char *proj_name = "test-project";
7821 cbm_mcp_server_set_project(srv, proj_name);
7822 cbm_store_upsert_project(st, proj_name, proj_dir);
7823
7824 /* Create nodes */
7825 cbm_node_t n_hr = {0};
7826 n_hr.project = proj_name;
7827 n_hr.label = "Function";
7828 n_hr.name = "HandleRequest";
7829 n_hr.qualified_name = "test-project.cmd.server.main.HandleRequest";
7830 n_hr.file_path = "main.go";
7831 n_hr.start_line = 3;
7832 n_hr.end_line = 5;
7833 n_hr.properties_json = "{\"signature\":\"func HandleRequest() error\","
7834 "\"return_type\":\"error\","
7835 "\"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