Class: Riffer::Mcp::Registration

Inherits:
Object
  • Object
show all
Defined in:
lib/riffer/mcp/registration.rb

Overview

Per-server state managed by Riffer::Mcp::Registry — discovers tools via tools/list and generates tool classes when a server is registered.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(manifest) ⇒ Registration

– : (Riffer::Mcp::Manifest) -> void



24
25
26
27
28
29
30
# File 'lib/riffer/mcp/registration.rb', line 24

def initialize(manifest)
  @manifest = manifest
  @cancelled = false
  @tools = [] #: Array[singleton(Riffer::Tool)]
  @mutex = Mutex.new
  run_discovery
end

Instance Attribute Details

#manifestObject (readonly)

The manifest that describes this server.



12
13
14
# File 'lib/riffer/mcp/registration.rb', line 12

def manifest
  @manifest
end

Instance Method Details

#retire!Object

Retires this registration, preventing in-flight discovery from publishing state.

– : () -> void



37
38
39
# File 'lib/riffer/mcp/registration.rb', line 37

def retire!
  @mutex.synchronize { @cancelled = true }
end

#retired?Boolean

Returns true if this registration has been retired.

– : () -> bool

Returns:

  • (Boolean)


45
46
47
# File 'lib/riffer/mcp/registration.rb', line 45

def retired?
  @mutex.synchronize { @cancelled }
end

#toolsObject

Generated Riffer::Tool subclasses.

– : () -> Array



18
19
20
# File 'lib/riffer/mcp/registration.rb', line 18

def tools
  @mutex.synchronize { @tools }
end