mail_mcp 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: caf27cd17b2adac73fae31883b7f0ae1e20b7c2be61e583180d9fe7d230e3c23
4
- data.tar.gz: bab6dfc1f67f681fd30689a4c38eb4ab4cac6ec0abe485755e74f25333e1c761
3
+ metadata.gz: e06ea684243f2124133903c64239d181b093c87e895f2716bb257d714f05aff3
4
+ data.tar.gz: b986c39811d9e1f3879b082796eba93ebb2a4a781c90309b2e1bb6e576875282
5
5
  SHA512:
6
- metadata.gz: bad25881c7462f141971105d5455b9cec71af498aa3dadc7617caea6ba2aa5802cfa91b4f899ef637bafcbf8d23c7d902a8f3af3c942b9e83c1f26e324433fc1
7
- data.tar.gz: 438d165458bf0b62c1a66d45ad65766f99c9517e5d0d986b1be4e370968a53e0d81254a83a17152eecdc7117f19cdca473df4d8bfffffa365c0398ff4548f62e
6
+ metadata.gz: 2ed02d68bf67c31a985199471ced7c4e9393485be999f6ed8fab254c19d55918cdc8e9d7aa3b7e35f631d0244ad3c5a38d22f21142681a613bc73aaa08b8e71d
7
+ data.tar.gz: 550a20589e633d0b29c7e1cf35ea0b48e2393452c2fbc07b2b51a6ae42805c2155952c8839aee0517bd054dea975dfb024468d0a759e06c3eb7961e9fa2ce396
data/lib/mail_mcp/app.rb CHANGED
@@ -37,7 +37,11 @@ module MailMCP
37
37
  tools: MCP_TOOLS,
38
38
  server_context: server_context
39
39
  )
40
- transport = MCP::Server::Transports::StreamableHTTPTransport.new(mcp_server, stateless: true)
40
+ transport = MCP::Server::Transports::StreamableHTTPTransport.new(
41
+ mcp_server,
42
+ stateless: true,
43
+ allowed_hosts: allowed_mcp_hosts
44
+ )
41
45
  status_code, resp_headers, body = transport.call(env)
42
46
  halt status_code, resp_headers, body
43
47
  end
@@ -220,6 +224,13 @@ module MailMCP
220
224
  ENV.fetch("BASE_URL")
221
225
  end
222
226
 
227
+ # The MCP transport's DNS-rebinding protection only accepts loopback `Host` values
228
+ # out of the box. This server is reached at its public hostname, so allow-list it —
229
+ # a bare host name matches any port.
230
+ def allowed_mcp_hosts
231
+ [URI.parse(base_url).host]
232
+ end
233
+
223
234
  def decode_client_id!(client_id)
224
235
  JwtService.decode_client_id(client_id.to_s)
225
236
  rescue JwtService::Error => e
@@ -1,3 +1,3 @@
1
1
  module MailMCP
2
- VERSION = "1.0.2".freeze
2
+ VERSION = "1.0.3".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mail_mcp
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Edgars Beigarts
@@ -71,14 +71,14 @@ dependencies:
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: '0.14'
74
+ version: 0.25.0
75
75
  type: :runtime
76
76
  prerelease: false
77
77
  version_requirements: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '0.14'
81
+ version: 0.25.0
82
82
  - !ruby/object:Gem::Dependency
83
83
  name: puma
84
84
  requirement: !ruby/object:Gem::Requirement