1 2 3 4 5 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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
| {% import ( "{{{ .Package }}}/app" "{{{ .Package }}}/app/controller/cutil" "{{{ .Package }}}/app/lib/mcpserver" "{{{ .Package }}}/app/util" "{{{ .Package }}}/views/components" "{{{ .Package }}}/views/layout" ) %}
{% code type MCPList struct { layout.Basic Server *mcpserver.Server } %}
{% func (p *MCPList) Body(as *app.State, ps *cutil.PageState) %} <div class="card"> <h3>{%= components.SVGIcon(`chart`, ps) %} Model Context Protocol</h3> <div class="mt">You can register {%s util.AppName %} as a Model Context Protocol server using the command line or HTTP.</div> <div class="mt"> <ul class="accordion"> <li> <input id="accordion-cli" type="checkbox" hidden="hidden" /> <label for="accordion-cli">{%= components.ExpandCollapse(3, ps) %} Command Line</label> <div class="bd"><div><div> Register {%s util.AppName %} as a command line MCP server by calling this app using the command line as <code>{%s util.AppKey %} mcp</code>. <div class="mt">{%s= cutil.FormatLangIgnoreErrors(mcpserver.UsageCLI(), "json") %}</div> </div></div></div> </li> <li> <input id="accordion-http" type="checkbox" hidden="hidden" /> <label for="accordion-http">{%= components.ExpandCollapse(3, ps) %} Streamable HTTP</label> <div class="bd"><div><div> Register {%s util.AppName %} as an HTTP MCP server by sending a POST to <code>/mcp</code>. <div class="mt">{%s= cutil.FormatLangIgnoreErrors(mcpserver.UsageHTTP(), "json") %}</div> </div> </div></div></div> </li> </ul> </div> </div>
{%- if len(p.Server.Resources) > 0 -%} <div class="card"> <h3>{%= components.SVGIcon(`file`, ps) %} Resources</h3> {%= listResources(p.Server.Resources, ps) %} </div> {%- endif -%}
{%- if len(p.Server.ResourceTemplates) > 0 -%} <div class="card"> <h3>{%= components.SVGIcon(`folder`, ps) %} Resource Templates</h3> {%= listResourceTemplates(p.Server.ResourceTemplates, ps) %} </div> {%- endif -%}
{%- if len(p.Server.Tools) > 0 -%} <div class="card"> <h3>{%= components.SVGIcon(`cog`, ps) %} Tools</h3> {%= listTools(p.Server.Tools, ps) %} </div> {%- endif -%}
{%- if len(p.Server.Prompts) > 0 -%} <div class="card"> <h3>{%= components.SVGIcon(`gift`, ps) %} Prompts</h3> {%= listPrompts(p.Server.Prompts, ps) %} </div> {%- endif -%} {% endfunc %}
|