cf-mcp 0.17.0 → 0.17.2
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 +4 -4
- data/CHANGELOG.md +18 -0
- data/Manifest.txt +1 -0
- data/exe/cf-mcp +1 -0
- data/exe/cf-mcp-wrapper +8 -0
- data/lib/cf/mcp/server.rb +1 -3
- data/lib/cf/mcp/templates/script.js +2 -2
- data/lib/cf/mcp/tools/find_related.rb +0 -4
- data/lib/cf/mcp/tools/get_details.rb +0 -4
- data/lib/cf/mcp/tools/get_topic.rb +0 -4
- data/lib/cf/mcp/tools/list_category.rb +0 -4
- data/lib/cf/mcp/tools/list_topics.rb +0 -4
- data/lib/cf/mcp/tools/member_search.rb +0 -4
- data/lib/cf/mcp/tools/parameter_search.rb +0 -4
- data/lib/cf/mcp/tools/search_tool.rb +0 -4
- data/lib/cf/mcp/version.rb +1 -1
- metadata +3 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 98423800bb5ecaf4605f4ebf9dda9e8a23d0e769d2840d7ea02604ab46b2e82e
|
|
4
|
+
data.tar.gz: 89d5e7b80786cec6e6304e1acf9f06e1eff0811f7091f77d776742ded9b515df
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c5af9f6e8e234fcf8dd3cd9cb074609bd600df1dd7dfb6884d10b993a22bc29dce1d0ad1b7b88b35ac0635089350004eb4a61718f9231a05d5f9f5755e0ff202
|
|
7
|
+
data.tar.gz: 1aeb2b9475763f1d88a53d870f0513696b2855c3edbdab2652ad08a960b7a17fc6768b99c9ae233243ab509285b4726dcf17f562256b9d887a8759ca0e1dbe4a
|
data/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.17.2] - 2026-02-10
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- Lowered MCP protocol version from 2025-03-26 to 2025-03-26 for compatibility
|
|
15
|
+
- Removed title and website_url from server initialization (not supported in lower protocol version)
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
|
|
19
|
+
- Fix tool name reference in web UI script.js (changed `cf_get_topic` to `get_topic` to match current tool naming)
|
|
20
|
+
- Remove test assertions for title-related functionality to match protocol downgrade
|
|
21
|
+
|
|
22
|
+
## [0.17.1] - 2026-02-09
|
|
23
|
+
|
|
24
|
+
This version was prepared but never released. Changes rolled into 0.17.2.
|
|
25
|
+
|
|
10
26
|
## [0.17.0] - 2026-02-09
|
|
11
27
|
|
|
12
28
|
### Added
|
|
@@ -277,6 +293,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
277
293
|
- `cf_list_category` - List items by category
|
|
278
294
|
- `cf_get_details` - Get full documentation by name
|
|
279
295
|
|
|
296
|
+
[0.17.2]: https://github.com/pusewicz/cf-mcp/compare/v0.17.0...v0.17.2
|
|
297
|
+
[0.17.1]: https://github.com/pusewicz/cf-mcp/compare/v0.17.0...v0.17.1
|
|
280
298
|
[0.17.0]: https://github.com/pusewicz/cf-mcp/compare/v0.16.2...v0.17.0
|
|
281
299
|
[0.16.2]: https://github.com/pusewicz/cf-mcp/compare/v0.16.1...v0.16.2
|
|
282
300
|
[0.16.1]: https://github.com/pusewicz/cf-mcp/compare/v0.16.0...v0.16.1
|
data/Manifest.txt
CHANGED
data/exe/cf-mcp
CHANGED
data/exe/cf-mcp-wrapper
ADDED
data/lib/cf/mcp/server.rb
CHANGED
|
@@ -34,7 +34,7 @@ module CF
|
|
|
34
34
|
new(index).rack_app
|
|
35
35
|
end
|
|
36
36
|
|
|
37
|
-
PROTOCOL_VERSION = "2025-
|
|
37
|
+
PROTOCOL_VERSION = "2025-03-26"
|
|
38
38
|
WEBSITE_URL = ENV.fetch("FLY_APP_NAME", nil) ? "https://#{ENV["FLY_APP_NAME"]}.fly.dev" : "https://cf-mcp.fly.dev"
|
|
39
39
|
PUBLIC_DIR = File.join(__dir__, "public")
|
|
40
40
|
|
|
@@ -44,10 +44,8 @@ module CF
|
|
|
44
44
|
configuration = ::MCP::Configuration.new(protocol_version: PROTOCOL_VERSION)
|
|
45
45
|
@server = ::MCP::Server.new(
|
|
46
46
|
name: "cf-mcp",
|
|
47
|
-
title: "Cute Framework MCP",
|
|
48
47
|
configuration:,
|
|
49
48
|
version: CF::MCP::VERSION,
|
|
50
|
-
website_url: WEBSITE_URL,
|
|
51
49
|
icons: [
|
|
52
50
|
::MCP::Icon.new(src: "#{WEBSITE_URL}/favicon.svg", mime_type: "image/svg+xml", sizes: ["any"]),
|
|
53
51
|
::MCP::Icon.new(src: "#{WEBSITE_URL}/favicon-96x96.png", mime_type: "image/png", sizes: ["96x96"])
|
|
@@ -162,7 +162,7 @@ function FormField({ name, propDef, required, value, onChange, toolName }) {
|
|
|
162
162
|
} else if (name === 'category') {
|
|
163
163
|
input = renderSelect(id, value, handleChange, required, '-- All Categories --',
|
|
164
164
|
CATEGORIES.map(cat => html`<option value=${cat}>${cat}</option>`));
|
|
165
|
-
} else if (name === 'name' && toolName === '
|
|
165
|
+
} else if (name === 'name' && toolName === 'get_topic') {
|
|
166
166
|
input = renderSelect(id, value, handleChange, required, '-- Select Topic --', renderTopicOptions());
|
|
167
167
|
} else {
|
|
168
168
|
input = html`
|
|
@@ -260,7 +260,7 @@ function TopicsExplorer() {
|
|
|
260
260
|
const value = e.target.value;
|
|
261
261
|
setSelectedTopic(value);
|
|
262
262
|
if (value) {
|
|
263
|
-
callTool('
|
|
263
|
+
callTool('get_topic', { name: value }, 'Loading topic...');
|
|
264
264
|
} else {
|
|
265
265
|
reset();
|
|
266
266
|
}
|
|
@@ -9,10 +9,7 @@ module CF
|
|
|
9
9
|
class FindRelated < ::MCP::Tool
|
|
10
10
|
extend ResponseHelpers
|
|
11
11
|
|
|
12
|
-
TITLE = "Find Related"
|
|
13
|
-
|
|
14
12
|
tool_name "find_related"
|
|
15
|
-
title TITLE
|
|
16
13
|
description "Find all items related to a given Cute Framework item (bidirectional relationship search)"
|
|
17
14
|
|
|
18
15
|
input_schema(
|
|
@@ -24,7 +21,6 @@ module CF
|
|
|
24
21
|
)
|
|
25
22
|
|
|
26
23
|
annotations(
|
|
27
|
-
title: TITLE,
|
|
28
24
|
read_only_hint: true,
|
|
29
25
|
destructive_hint: false,
|
|
30
26
|
idempotent_hint: true,
|
|
@@ -9,10 +9,7 @@ module CF
|
|
|
9
9
|
class GetDetails < ::MCP::Tool
|
|
10
10
|
extend ResponseHelpers
|
|
11
11
|
|
|
12
|
-
TITLE = "Get Details"
|
|
13
|
-
|
|
14
12
|
tool_name "get_details"
|
|
15
|
-
title TITLE
|
|
16
13
|
description "Get detailed documentation for a specific Cute Framework item by exact name"
|
|
17
14
|
|
|
18
15
|
input_schema(
|
|
@@ -24,7 +21,6 @@ module CF
|
|
|
24
21
|
)
|
|
25
22
|
|
|
26
23
|
annotations(
|
|
27
|
-
title: TITLE,
|
|
28
24
|
read_only_hint: true,
|
|
29
25
|
destructive_hint: false,
|
|
30
26
|
idempotent_hint: true,
|
|
@@ -9,10 +9,7 @@ module CF
|
|
|
9
9
|
class GetTopic < ::MCP::Tool
|
|
10
10
|
extend ResponseHelpers
|
|
11
11
|
|
|
12
|
-
TITLE = "Get Topic"
|
|
13
|
-
|
|
14
12
|
tool_name "get_topic"
|
|
15
|
-
title TITLE
|
|
16
13
|
description "Get the full content of a Cute Framework topic guide document"
|
|
17
14
|
|
|
18
15
|
input_schema(
|
|
@@ -24,7 +21,6 @@ module CF
|
|
|
24
21
|
)
|
|
25
22
|
|
|
26
23
|
annotations(
|
|
27
|
-
title: TITLE,
|
|
28
24
|
read_only_hint: true,
|
|
29
25
|
destructive_hint: false,
|
|
30
26
|
idempotent_hint: true,
|
|
@@ -9,10 +9,7 @@ module CF
|
|
|
9
9
|
class ListCategory < ::MCP::Tool
|
|
10
10
|
extend ResponseHelpers
|
|
11
11
|
|
|
12
|
-
TITLE = "List Category"
|
|
13
|
-
|
|
14
12
|
tool_name "list_category"
|
|
15
|
-
title TITLE
|
|
16
13
|
description "List all items in a specific category, or list all available categories"
|
|
17
14
|
|
|
18
15
|
input_schema(
|
|
@@ -24,7 +21,6 @@ module CF
|
|
|
24
21
|
)
|
|
25
22
|
|
|
26
23
|
annotations(
|
|
27
|
-
title: TITLE,
|
|
28
24
|
read_only_hint: true,
|
|
29
25
|
destructive_hint: false,
|
|
30
26
|
idempotent_hint: true,
|
|
@@ -9,10 +9,7 @@ module CF
|
|
|
9
9
|
class ListTopics < ::MCP::Tool
|
|
10
10
|
extend ResponseHelpers
|
|
11
11
|
|
|
12
|
-
TITLE = "List Topics"
|
|
13
|
-
|
|
14
12
|
tool_name "list_topics"
|
|
15
|
-
title TITLE
|
|
16
13
|
description "List all Cute Framework topic guides, optionally filtered by category or in recommended reading order"
|
|
17
14
|
|
|
18
15
|
input_schema(
|
|
@@ -24,7 +21,6 @@ module CF
|
|
|
24
21
|
)
|
|
25
22
|
|
|
26
23
|
annotations(
|
|
27
|
-
title: TITLE,
|
|
28
24
|
read_only_hint: true,
|
|
29
25
|
destructive_hint: false,
|
|
30
26
|
idempotent_hint: true,
|
|
@@ -9,10 +9,7 @@ module CF
|
|
|
9
9
|
class MemberSearch < ::MCP::Tool
|
|
10
10
|
extend ResponseHelpers
|
|
11
11
|
|
|
12
|
-
TITLE = "Member Search"
|
|
13
|
-
|
|
14
12
|
tool_name "member_search"
|
|
15
|
-
title TITLE
|
|
16
13
|
description "Search Cute Framework structs by member name or type"
|
|
17
14
|
|
|
18
15
|
input_schema(
|
|
@@ -25,7 +22,6 @@ module CF
|
|
|
25
22
|
)
|
|
26
23
|
|
|
27
24
|
annotations(
|
|
28
|
-
title: TITLE,
|
|
29
25
|
read_only_hint: true,
|
|
30
26
|
destructive_hint: false,
|
|
31
27
|
idempotent_hint: true,
|
|
@@ -9,10 +9,7 @@ module CF
|
|
|
9
9
|
class ParameterSearch < ::MCP::Tool
|
|
10
10
|
extend ResponseHelpers
|
|
11
11
|
|
|
12
|
-
TITLE = "Parameter Search"
|
|
13
|
-
|
|
14
12
|
tool_name "parameter_search"
|
|
15
|
-
title TITLE
|
|
16
13
|
description "Find Cute Framework functions by parameter or return type"
|
|
17
14
|
|
|
18
15
|
input_schema(
|
|
@@ -29,7 +26,6 @@ module CF
|
|
|
29
26
|
)
|
|
30
27
|
|
|
31
28
|
annotations(
|
|
32
|
-
title: TITLE,
|
|
33
29
|
read_only_hint: true,
|
|
34
30
|
destructive_hint: false,
|
|
35
31
|
idempotent_hint: true,
|
|
@@ -11,10 +11,7 @@ module CF
|
|
|
11
11
|
extend ResponseHelpers
|
|
12
12
|
extend SearchResultFormatter
|
|
13
13
|
|
|
14
|
-
TITLE = "Search"
|
|
15
|
-
|
|
16
14
|
tool_name "search"
|
|
17
|
-
title TITLE
|
|
18
15
|
description "Search Cute Framework documentation across all types (functions, structs, enums, topics)"
|
|
19
16
|
|
|
20
17
|
input_schema(
|
|
@@ -29,7 +26,6 @@ module CF
|
|
|
29
26
|
)
|
|
30
27
|
|
|
31
28
|
annotations(
|
|
32
|
-
title: TITLE,
|
|
33
29
|
read_only_hint: true,
|
|
34
30
|
destructive_hint: false,
|
|
35
31
|
idempotent_hint: true,
|
data/lib/cf/mcp/version.rb
CHANGED
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.17.
|
|
4
|
+
version: 0.17.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Piotr Usewicz
|
|
@@ -85,6 +85,7 @@ email:
|
|
|
85
85
|
- piotr@layer22.com
|
|
86
86
|
executables:
|
|
87
87
|
- cf-mcp
|
|
88
|
+
- cf-mcp-wrapper
|
|
88
89
|
extensions: []
|
|
89
90
|
extra_rdoc_files: []
|
|
90
91
|
files:
|
|
@@ -95,6 +96,7 @@ files:
|
|
|
95
96
|
- Rakefile
|
|
96
97
|
- config.ru
|
|
97
98
|
- exe/cf-mcp
|
|
99
|
+
- exe/cf-mcp-wrapper
|
|
98
100
|
- lib/cf/mcp.rb
|
|
99
101
|
- lib/cf/mcp/cli.rb
|
|
100
102
|
- lib/cf/mcp/downloader.rb
|