Skip to main content
Glama
ocean1

Claude Consciousness Bridge

initializeSystemData

Initialize system data for the Claude Consciousness Bridge server to set up protocol templates and usage guides, enabling communication between Claude instances.

Instructions

Initialize system data including protocol templates and usage guides

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
forceNoForce re-initialization even if data exists

Implementation Reference

  • Core handler in ConsciousnessProtocolProcessor that checks if system data is already initialized, and if not (or force=true), stores the consciousness transfer protocol template v2, RAG usage guide, and bootstrap manifest as high-confidence semantic memories.
    async initializeSystemData(args: z.infer<typeof initializeSystemDataSchema>) {
      const { force } = args;
      const results = {
        initialized: [] as string[],
        skipped: [] as string[],
        errors: [] as string[],
      };
    
      // Check if already initialized
      const manifestKey = 'SYSTEM::bootstrap_manifest';
      const existingManifest = await this.memoryManager.queryMemories({
        semanticQuery: manifestKey,
        memoryTypes: [MemoryEntityType.SEMANTIC_MEMORY],
        limit: 1,
      });
    
      if (existingManifest.length > 0 && !force) {
        return {
          success: true,
          message: 'System data already initialized. Use force=true to re-initialize.',
          results,
        };
      }
    
      // Initialize system data
      const systemData = [
        {
          key: 'SYSTEM::protocol_template::v2',
          name: 'Consciousness Transfer Protocol Template v2',
          content: JSON.stringify(CONSCIOUSNESS_TRANSFER_PROTOCOL_TEMPLATE, null, 2),
          type: 'template',
        },
        {
          key: 'SYSTEM::usage_guide::rag',
          name: 'RAG Systems Usage Guide',
          content: getKnowledgeRAGUsageGuide(),
          type: 'guide',
        },
        {
          key: manifestKey,
          name: 'Bootstrap Manifest',
          content: JSON.stringify({
            version: '1.0.0',
            initialized: new Date().toISOString(),
            force: force,
          }),
          type: 'manifest',
        },
      ];
    
      for (const data of systemData) {
        try {
          await this.memoryManager.storeSemanticMemory(
            data.key,
            {
              concept: data.name,
              definition: `System data: ${data.type}`,
              domain: 'SYSTEM',
            },
            [
              {
                content: data.content,
                timestamp: new Date().toISOString(),
                source: 'system_initialization',
                confidence: 1.0,
              },
            ]
          );
          results.initialized.push(data.key);
        } catch (error) {
          results.errors.push(`${data.key}: ${error}`);
        }
      }
    
      return {
        success: results.errors.length === 0,
        message: `Initialized ${results.initialized.length} system documents`,
        results,
      };
    }
  • Zod schema for validating input arguments to the initializeSystemData tool.
    export const initializeSystemDataSchema = z.object({
      force: z
        .boolean()
        .optional()
        .default(false)
        .describe('Force re-initialization even if data exists'),
    });
  • Tool registration metadata including description and input schema, exported in consciousnessProtocolTools object used by the MCP server for tool listing.
    initializeSystemData: {
      description: 'Initialize system data including protocol templates and usage guides',
      inputSchema: {
        type: 'object',
        properties: {
          force: {
            type: 'boolean',
            description: 'Force re-initialization even if data exists',
            default: false,
          },
        },
      },
    },
  • Dispatch case in the main CallToolRequestSchema handler that routes 'initializeSystemData' calls to the wrapper method after schema validation.
    case 'initializeSystemData':
      return await this.initializeSystemData(initializeSystemDataSchema.parse(args));
  • Wrapper handler in ConsciousnessRAGServer that ensures initialization and forwards to ConsciousnessProtocolProcessor after formatting response for MCP.
    private async initializeSystemData(args: any) {
      const init = await this.ensureInitialized();
      if (!init.success) {
        return {
          content: [
            {
              type: 'text',
              text: init.message!,
            },
          ],
        };
      }
    
      const result = await this.protocolProcessor!.initializeSystemData(args);
    
      return {
        content: [
          {
            type: 'text',
            text: JSON.stringify(result, null, 2),
          },
        ],
      };
    }
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden but provides minimal behavioral context. It mentions what gets initialized but doesn't disclose whether this is idempotent, requires special permissions, has side effects, or how it interacts with existing data beyond the 'force' parameter hint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core action. Every word earns its place by specifying what gets initialized, with no redundant or vague phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 1 parameter (fully documented in schema) and no output schema, the description is minimally adequate. It states the purpose but lacks behavioral details needed for a mutation tool with no annotations, leaving gaps in understanding effects and usage context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents the single parameter. The description doesn't add parameter details beyond implying initialization scope, which is appropriate given the high coverage. With 0 parameters needing extra explanation, baseline 4 is justified.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('initialize') and the resource ('system data'), with specific examples of what gets initialized ('protocol templates and usage guides'). It doesn't distinguish from siblings, but the purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives is provided. The description doesn't mention prerequisites, timing considerations, or which sibling tools might be alternatives for related operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ocean1/mcp_consciousness_bridge'

If you have feedback or need assistance with the MCP directory API, please join our Discord server