6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/explicit/mcp_server.rb', line 6
def new(&block)
engine = ::Class.new(::Rails::Engine)
builder = Builder.new.tap { _1.instance_eval(&block) }
if builder.get_name.blank?
raise " MCP servers must have a name. For example:\n\n Explicit::MCPServer.new do\n name \"My app\"\n end\n TEXT\n end\n\n if builder.get_version.blank?\n raise <<~TEXT\n MCP servers must have a version. For example:\n\n Explicit::MCPServer.new do\n version \"1.0.0\"\n end\n TEXT\n end\n\n engine.routes.draw do\n match \"/\", to: builder, as: :explicit_mcp, via: :all\n end\n\n engine\nend\n"
|