dynamic_mcp 0.0.7 → 0.0.8

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: a259bd2c1e6c0b320f1163d9462ebb21233374baa50c2b6f4c61fd33b9856b77
4
- data.tar.gz: e239a1b63aa1d895ed38c6ad9a79c9a9f8c16c0a83031e320307ce0bfa9f6078
3
+ metadata.gz: d4f2caec5bd99af2859a51479c4604d7cc026be469896fa73571e66c06e1151b
4
+ data.tar.gz: f9079dd85d55862dcfd5c366675f69975695be0881f6a7ae95aed4c13297a1e8
5
5
  SHA512:
6
- metadata.gz: 92984b786e0bfddaaae6d2b812a74a3ea10a6e73bee31ee2a38066273c2c486e54c7cea986f855c9551e81a658a60d75e36ec28b7fea02b03adbf12a97e6ad5f
7
- data.tar.gz: 2e59a9329f1a2ff305b1b7aa32e228499cf22c7d0237f3ae2ecb6dfac03ca0b5bd35cf3b4c4f5d02a0307e63252fe4919b4bea0c1febe6316c75219316b958ff
6
+ metadata.gz: c75d6b64f68a22d36eb3b07b8cbd6c18bfed5e31cf3a770ff0483b6ec4ff11acce637b46b9ab2e11a837942ce33d546f615c7035120017caf56ab31e51445c17
7
+ data.tar.gz: 467595514f384b7ebcaa9cd23d88790024eb81714970569b8c8987a92dbbef952718e49adda5a2adabf5725d5b14d6328adcdd3b5f874d0f8854142cbc3aa960
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # ruby-mcp
1
+ # dynamic_mcp
2
2
  A dynamic and flexible Ruby MCP server built on [FastMCP](https://github.com/yjacquin/fast-mcp).
3
3
 
4
4
  This gem is a Ruby MCP server in a box. It's designed to allow you to get a new MCP server up and running in just a few minutes, and add tools, resources and prompts with as little effort as possible.
@@ -38,6 +38,27 @@ For example, to configure gemini to use your new MCP server, you would put the f
38
38
  }
39
39
  ```
40
40
 
41
+ ### Startup Shim
42
+
43
+ An alternative way to start the MCP Server is to use the `dynamic_mcp_startup_shim`. This may be necessary if you want to start your AI client from outside the directory where you deployed the server. In this case, you would use a configuration like this:
44
+
45
+ ```json
46
+ {
47
+ "mcpServers": [
48
+ {
49
+ "name": "dynamic_mcp_server",
50
+ "command": "dynamic_mcp_startup_shim",
51
+ "args": ["path/to/mcp/server.rb"],
52
+ "cwd": "path/to/mcp",
53
+ "timeout": 30000,
54
+ "trust": false
55
+ }
56
+ ]
57
+ }
58
+ ```
59
+
60
+ The only difference is the `command` you tell the client to use to start the start the server. The `dynamic_mcp_startup_shim` executable simply starts the server from it own directory which then allows it to find all the tools, resources and prompts correctly.
61
+
41
62
  ## Usage
42
63
 
43
64
  With the MCP server installed and your agent configured to use it, you can now drop `.md` or `.rb` files into `./mcp/resources` and `./mcp/prompts` and `.rb` files into `./mcp/tools` and they will automatically be exposed to the agent via the server. Just be sure to follow the below guides for each type of file.
@@ -81,3 +102,9 @@ The `name` attribute should be unique, as this is how the AI agent can invoke sp
81
102
 
82
103
  The `./mcp` directory is meant to be committed to a repository and/or shared. The server within it is an independent ruby application that simply needs its dependencies available on the system on which it runs. The globally installed gem knows nothing about the servers it creates.
83
104
 
105
+ #### Gemini CLI
106
+
107
+ The Gemini CLI client currently has a [bug that effects MacOS](https://github.com/google-gemini/gemini-cli/issues/3261). This bug is impacting all mcp servers and requires that the Gemini client is started in the same root directory as you deploy the MCP server.
108
+
109
+ For now, it is recommended to deploy the MCP server into a top level directory that contains all the projects you wish to work on while using it.
110
+
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "fileutils"
4
+ require "json"
5
+
6
+ server_path = ARGV[0]
7
+
8
+ if File.exist?(server_path)
9
+ directory = File.dirname(server_path)
10
+
11
+ Dir.chdir(directory) do
12
+ system "ruby #{server_path}"
13
+ end
14
+ end
@@ -1,3 +1,3 @@
1
1
  module DynamicMcp
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dynamic_mcp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bryant Morrill
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-08-27 00:00:00.000000000 Z
11
+ date: 2025-08-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fast-mcp
@@ -57,12 +57,14 @@ description: DynamicMcp lets you get an MCP server up an running in seconds and
57
57
  email: bryantreadmorrill@gmail.com
58
58
  executables:
59
59
  - deploy_dynamic_mcp
60
+ - dynamic_mcp_startup_shim
60
61
  extensions: []
61
62
  extra_rdoc_files: []
62
63
  files:
63
64
  - LICENSE
64
65
  - README.md
65
66
  - bin/deploy_dynamic_mcp
67
+ - bin/dynamic_mcp_startup_shim
66
68
  - lib/dynamic_mcp.rb
67
69
  - lib/dynamic_mcp/prompts/prompt_generator.rb
68
70
  - lib/dynamic_mcp/resources/resource_generator.rb