Skip to main content
Glama

create_relationship

Establish connections between ideas to organize dependencies, track evolution, and structure relationships like alternatives, dependencies, or parent-child hierarchies.

Instructions

Create a relationship between two ideas.

Relationship types:

  • related_to: General relationship (bidirectional)

  • alternative_to: Ideas that solve the same problem differently (bidirectional)

  • superseded_by: This idea was replaced by another (directional)

  • merged_into: This idea was merged into another (directional)

  • blocked_by: This idea depends on another (directional)

  • parent_of: This is a parent/epic of another idea (directional)

  • derived_from: This idea was inspired by another (directional)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sourceIdeaIdYesThe source idea ID
targetIdeaIdYesThe target idea ID
relationshipTypeYesType of relationship
noteNoOptional note about the relationship

Implementation Reference

  • Definition of the 'create_relationship' tool in the proxy tools configuration.
      {
        name: 'create_relationship',
        description: `Create a relationship between two ideas.
    
    Relationship types:
    - related_to: General relationship (bidirectional)
    - alternative_to: Ideas that solve the same problem differently (bidirectional)
    - superseded_by: This idea was replaced by another (directional)
    - merged_into: This idea was merged into another (directional)
    - blocked_by: This idea depends on another (directional)
    - parent_of: This is a parent/epic of another idea (directional)
    - derived_from: This idea was inspired by another (directional)`,
        inputSchema: {
          type: 'object' as const,
          properties: {
            sourceIdeaId: { type: 'string', description: 'The source idea ID' },
            targetIdeaId: { type: 'string', description: 'The target idea ID' },
            relationshipType: {
              type: 'string',
              enum: ['related_to', 'alternative_to', 'superseded_by', 'merged_into', 'blocked_by', 'parent_of', 'derived_from'],
              description: 'Type of relationship',
            },
            note: { type: 'string', description: 'Optional note about the relationship' },
          },
          required: ['sourceIdeaId', 'targetIdeaId', 'relationshipType'],
        },
        annotations: { readOnlyHint: false, destructiveHint: false, openWorldHint: true },
        _meta: { 'openai/visibility': 'public' },
      },
Behavior4/5

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

Annotations indicate mutability (readOnlyHint=false) and safety (destructiveHint=false). Description adds crucial behavioral detail: directionality (bidirectional vs directional) for each relationship type. Minor gap: doesn't disclose idempotency behavior or conflict resolution when relationships already exist.

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?

Front-loaded with clear action statement, followed by structured bullet list. Every line earns its place: no redundancy with schema, zero filler. Efficient scannable format.

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

Completeness4/5

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

Appropriately complete for a 4-parameter mutation tool with full schema coverage and openWorldHint. Covers domain logic (relationship ontologies) thoroughly. Minor deduction for missing idempotency/duplicate-handling disclosure expected in a relationship creation API.

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

Parameters5/5

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

Despite 100% schema coverage (baseline 3), description massively enhances value by elaborating all 7 enum values for relationshipType with semantic definitions ('General relationship', 'solves the same problem differently', etc.) and directionality constraints—critical context not present in schema.

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

Purpose5/5

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

Specific verb 'Create' + resource 'relationship' + scope 'between two ideas' clearly identifies the tool's function. Distinct from siblings like create_idea (creates nodes) and attach_signal (attaches metadata).

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

Usage Guidelines3/5

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

Provides detailed domain guidance via relationship type definitions (bidirectional vs directional), but lacks explicit tool-selection guidance—no mention of when to use this vs siblings like attach_signal or when to prefer list_relationships for reading existing links.

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/Startvest-LLC/idealift-mcp-server'

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