cf-mcp 0.15.1 → 0.15.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: 195399f6d4f2c7d1ec73c2d09509cfb2ff5277beba85fa6fc02c1e82a014d8d7
4
- data.tar.gz: 136d0ccffbfad51290e9e4ef3d0af0ad116176f35909f87c53e4032db34adbe8
3
+ metadata.gz: 28a4f34409fb4ba5cfdd9ffdbcd8a361a54e018bab3812e6cb8a785e1598084a
4
+ data.tar.gz: 62e79656a915e2e1de0b3d12a0010920c9016f99d96f370d9312c7b4660d2c78
5
5
  SHA512:
6
- metadata.gz: 488b3588f45c40fc22a1ef6472a801b7eefff38c69c2bb2b9dd4d74f006ae7af878b5893bf61606e82f6a558ce5a5433fabc8ccfde848a8af5d8c1f21391170b
7
- data.tar.gz: fab33790cd94cb57d26f4722f0c7c88ea9e54436e9e60dac805a1b3260160e0740fc388157700195eeb8cfcda77600e4345b15133ee87ce04ce668424195fdce
6
+ metadata.gz: 59ca95645525df79d7c585d86528316b97ab200ac0fee375c6cced8bb960b266aca2540e729dce43fb18186106245e39c61816198d51c6d841fbc9fc20ae1a25
7
+ data.tar.gz: 4a6c9b56905322f5e36a60f2f1c42b23abad76be5150652f78a8d77d5e7d1e3267234e487f617729b846df874c4943260d64a33c7ffb39882daff7eb9bb235d7
data/CHANGELOG.md CHANGED
@@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.15.3] - 2026-01-26
9
+
10
+ ### Fixed
11
+
12
+ - Landing page now serves HTML by default for GET requests without an explicit `Accept: application/json` header, fixing W3C validator compatibility
13
+
14
+ ## [0.15.2] - 2026-01-26
15
+
16
+ ### Added
17
+
18
+ - Favicon support (48x48 PNG) served at `/favicon.png` and `/favicon.ico`
19
+ - Favicon link tag in HTML template for browser tab icons
20
+
8
21
  ## [0.15.1] - 2026-01-26
9
22
 
10
23
  ### Added
@@ -205,6 +218,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
205
218
  - `cf_list_category` - List items by category
206
219
  - `cf_get_details` - Get full documentation by name
207
220
 
221
+ [0.15.3]: https://github.com/pusewicz/cf-mcp/compare/v0.15.2...v0.15.3
222
+ [0.15.2]: https://github.com/pusewicz/cf-mcp/compare/v0.15.1...v0.15.2
208
223
  [0.15.1]: https://github.com/pusewicz/cf-mcp/compare/v0.15.0...v0.15.1
209
224
  [0.15.0]: https://github.com/pusewicz/cf-mcp/compare/v0.14.3...v0.15.0
210
225
  [0.14.3]: https://github.com/pusewicz/cf-mcp/compare/v0.14.2...v0.14.3
data/Manifest.txt CHANGED
@@ -16,6 +16,7 @@ lib/cf/mcp/models/function_doc.rb
16
16
  lib/cf/mcp/models/struct_doc.rb
17
17
  lib/cf/mcp/models/topic_doc.rb
18
18
  lib/cf/mcp/parser.rb
19
+ lib/cf/mcp/public/favicon.png
19
20
  lib/cf/mcp/public/logo.png
20
21
  lib/cf/mcp/public/logo.svg
21
22
  lib/cf/mcp/server.rb
Binary file
data/lib/cf/mcp/server.rb CHANGED
@@ -120,9 +120,10 @@ module CF
120
120
  [404, {"content-type" => "application/json"}, ['{"error":"Not found"}']]
121
121
  when %r{^/http(/|$)}
122
122
  http_transport.handle_request(request)
123
- when "/logo.svg", "/logo.png"
124
- # Serve logo as static asset
123
+ when "/logo.svg", "/logo.png", "/favicon.png", "/favicon.ico"
124
+ # Serve static assets from public directory
125
125
  filename = path.delete_prefix("/")
126
+ filename = "favicon.png" if filename == "favicon.ico" # Serve PNG for .ico requests
126
127
  logo_path = File.join(public_dir, filename)
127
128
  if File.exist?(logo_path)
128
129
  content_type = filename.end_with?(".svg") ? "image/svg+xml" : "image/png"
@@ -133,10 +134,11 @@ module CF
133
134
  else
134
135
  # Default route - show landing page for browsers
135
136
  accept = request.get_header("HTTP_ACCEPT") || ""
136
- if request.get? && accept.include?("text/html")
137
+ if request.get? && !accept.include?("application/json")
138
+ # Serve HTML by default for GET requests unless client specifically requests JSON
137
139
  [200, {"content-type" => "text/html; charset=utf-8"}, [landing_page.call(index, tools)]]
138
140
  else
139
- # For non-browser clients at root, redirect to /http
141
+ # For JSON clients or non-GET requests, redirect to MCP endpoint
140
142
  [301, {"location" => "/http", "content-type" => "text/plain"}, ["Redirecting to /http"]]
141
143
  end
142
144
  end
@@ -3,6 +3,7 @@
3
3
  <head>
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <link rel="icon" type="image/png" href="/favicon.png">
6
7
  <title>CF::MCP - Cute Framework MCP Server</title>
7
8
  <style>
8
9
  <%= css_content %>
@@ -2,6 +2,6 @@
2
2
 
3
3
  module CF
4
4
  module MCP
5
- VERSION = "0.15.1"
5
+ VERSION = "0.15.3"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cf-mcp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.1
4
+ version: 0.15.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Usewicz
@@ -106,6 +106,7 @@ files:
106
106
  - lib/cf/mcp/models/struct_doc.rb
107
107
  - lib/cf/mcp/models/topic_doc.rb
108
108
  - lib/cf/mcp/parser.rb
109
+ - lib/cf/mcp/public/favicon.png
109
110
  - lib/cf/mcp/public/logo.png
110
111
  - lib/cf/mcp/public/logo.svg
111
112
  - lib/cf/mcp/server.rb