Module: Mathpix::MCP::HttpApp
- Defined in:
- lib/mathpix/mcp/http_app.rb
Overview
Builds a Rack application that serves the Mathpix MCP server over the MCP Streamable HTTP transport, guarded by a bearer token.
Defined Under Namespace
Classes: BearerAuth
Class Method Summary collapse
-
.build(token: ENV.fetch('MATHPIX_MCP_TOKEN', nil), server: nil) ⇒ #call
Build the bearer-guarded Rack app.
Class Method Details
.build(token: ENV.fetch('MATHPIX_MCP_TOKEN', nil), server: nil) ⇒ #call
Build the bearer-guarded Rack app.
24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/mathpix/mcp/http_app.rb', line 24 def build(token: ENV.fetch('MATHPIX_MCP_TOKEN', nil), server: nil) raise 'MATHPIX_MCP_TOKEN must be set to run the HTTP transport (bearer-token auth is required)' if token.nil? || token.empty? mcp_server = (server || Mathpix::MCP::Server.new).mcp_server # stateless + JSON responses keep this simple and sidestep session # state entirely; bearer auth guards every request. transport = ::MCP::Server::Transports::StreamableHTTPTransport.new( mcp_server, stateless: true, enable_json_response: true ) BearerAuth.new(transport, token: token) end |