MCP server for accessing Ruby YARD documentation in a project
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

cleanup and getting moving

+40 -325
+2 -1
.gitignore
··· 1 + Gemfile.lock 1 2 *.gem 2 3 *.rbc 3 4 /.config ··· 30 31 31 32 # OS files 32 33 .DS_Store 33 - Thumbs.db 34 + Thumbs.db
-324
Gemfile.lock
··· 1 - GEM 2 - remote: https://rubygems.org/ 3 - specs: 4 - actioncable (7.2.2.1) 5 - actionpack (= 7.2.2.1) 6 - activesupport (= 7.2.2.1) 7 - nio4r (~> 2.0) 8 - websocket-driver (>= 0.6.1) 9 - zeitwerk (~> 2.6) 10 - actionmailbox (7.2.2.1) 11 - actionpack (= 7.2.2.1) 12 - activejob (= 7.2.2.1) 13 - activerecord (= 7.2.2.1) 14 - activestorage (= 7.2.2.1) 15 - activesupport (= 7.2.2.1) 16 - mail (>= 2.8.0) 17 - actionmailer (7.2.2.1) 18 - actionpack (= 7.2.2.1) 19 - actionview (= 7.2.2.1) 20 - activejob (= 7.2.2.1) 21 - activesupport (= 7.2.2.1) 22 - mail (>= 2.8.0) 23 - rails-dom-testing (~> 2.2) 24 - actionpack (7.2.2.1) 25 - actionview (= 7.2.2.1) 26 - activesupport (= 7.2.2.1) 27 - nokogiri (>= 1.8.5) 28 - racc 29 - rack (>= 2.2.4, < 3.2) 30 - rack-session (>= 1.0.1) 31 - rack-test (>= 0.6.3) 32 - rails-dom-testing (~> 2.2) 33 - rails-html-sanitizer (~> 1.6) 34 - useragent (~> 0.16) 35 - actiontext (7.2.2.1) 36 - actionpack (= 7.2.2.1) 37 - activerecord (= 7.2.2.1) 38 - activestorage (= 7.2.2.1) 39 - activesupport (= 7.2.2.1) 40 - globalid (>= 0.6.0) 41 - nokogiri (>= 1.8.5) 42 - actionview (7.2.2.1) 43 - activesupport (= 7.2.2.1) 44 - builder (~> 3.1) 45 - erubi (~> 1.11) 46 - rails-dom-testing (~> 2.2) 47 - rails-html-sanitizer (~> 1.6) 48 - activejob (7.2.2.1) 49 - activesupport (= 7.2.2.1) 50 - globalid (>= 0.3.6) 51 - activemodel (7.2.2.1) 52 - activesupport (= 7.2.2.1) 53 - activerecord (7.2.2.1) 54 - activemodel (= 7.2.2.1) 55 - activesupport (= 7.2.2.1) 56 - timeout (>= 0.4.0) 57 - activestorage (7.2.2.1) 58 - actionpack (= 7.2.2.1) 59 - activejob (= 7.2.2.1) 60 - activerecord (= 7.2.2.1) 61 - activesupport (= 7.2.2.1) 62 - marcel (~> 1.0) 63 - activesupport (7.2.2.1) 64 - base64 65 - benchmark (>= 0.3) 66 - bigdecimal 67 - concurrent-ruby (~> 1.0, >= 1.3.1) 68 - connection_pool (>= 2.2.5) 69 - drb 70 - i18n (>= 1.6, < 2) 71 - logger (>= 1.4.2) 72 - minitest (>= 5.1) 73 - securerandom (>= 0.3) 74 - tzinfo (~> 2.0, >= 2.0.5) 75 - addressable (2.8.7) 76 - public_suffix (>= 2.0.2, < 7.0) 77 - ast (2.4.3) 78 - base64 (0.3.0) 79 - benchmark (0.4.1) 80 - bigdecimal (3.2.2) 81 - builder (3.3.0) 82 - coderay (1.1.3) 83 - concurrent-ruby (1.3.5) 84 - connection_pool (2.5.3) 85 - crass (1.0.6) 86 - date (3.4.1) 87 - diff-lcs (1.6.2) 88 - drb (2.2.3) 89 - dry-configurable (1.3.0) 90 - dry-core (~> 1.1) 91 - zeitwerk (~> 2.6) 92 - dry-core (1.1.0) 93 - concurrent-ruby (~> 1.0) 94 - logger 95 - zeitwerk (~> 2.6) 96 - dry-inflector (1.2.0) 97 - dry-initializer (3.2.0) 98 - dry-logic (1.6.0) 99 - bigdecimal 100 - concurrent-ruby (~> 1.0) 101 - dry-core (~> 1.1) 102 - zeitwerk (~> 2.6) 103 - dry-schema (1.14.1) 104 - concurrent-ruby (~> 1.0) 105 - dry-configurable (~> 1.0, >= 1.0.1) 106 - dry-core (~> 1.1) 107 - dry-initializer (~> 3.2) 108 - dry-logic (~> 1.5) 109 - dry-types (~> 1.8) 110 - zeitwerk (~> 2.6) 111 - dry-types (1.8.3) 112 - bigdecimal (~> 3.0) 113 - concurrent-ruby (~> 1.0) 114 - dry-core (~> 1.0) 115 - dry-inflector (~> 1.0) 116 - dry-logic (~> 1.4) 117 - zeitwerk (~> 2.6) 118 - erb (5.0.1) 119 - erubi (1.13.1) 120 - fast-mcp (1.5.0) 121 - addressable (~> 2.8) 122 - base64 123 - dry-schema (~> 1.14) 124 - json (~> 2.0) 125 - mime-types (~> 3.4) 126 - rack (~> 3.1) 127 - ffi (1.17.2-aarch64-linux-gnu) 128 - ffi (1.17.2-aarch64-linux-musl) 129 - ffi (1.17.2-arm-linux-gnu) 130 - ffi (1.17.2-arm-linux-musl) 131 - ffi (1.17.2-arm64-darwin) 132 - ffi (1.17.2-x86_64-darwin) 133 - ffi (1.17.2-x86_64-linux-gnu) 134 - ffi (1.17.2-x86_64-linux-musl) 135 - globalid (1.2.1) 136 - activesupport (>= 6.1) 137 - i18n (1.14.7) 138 - concurrent-ruby (~> 1.0) 139 - io-console (0.8.0) 140 - irb (1.15.2) 141 - pp (>= 0.6.0) 142 - rdoc (>= 4.0.0) 143 - reline (>= 0.4.2) 144 - json (2.12.2) 145 - language_server-protocol (3.17.0.5) 146 - lint_roller (1.1.0) 147 - listen (3.9.0) 148 - rb-fsevent (~> 0.10, >= 0.10.3) 149 - rb-inotify (~> 0.9, >= 0.9.10) 150 - logger (1.7.0) 151 - loofah (2.24.1) 152 - crass (~> 1.0.2) 153 - nokogiri (>= 1.12.0) 154 - mail (2.8.1) 155 - mini_mime (>= 0.1.1) 156 - net-imap 157 - net-pop 158 - net-smtp 159 - marcel (1.0.4) 160 - method_source (1.1.0) 161 - mime-types (3.7.0) 162 - logger 163 - mime-types-data (~> 3.2025, >= 3.2025.0507) 164 - mime-types-data (3.2025.0708) 165 - mini_mime (1.1.5) 166 - minitest (5.25.5) 167 - net-imap (0.5.9) 168 - date 169 - net-protocol 170 - net-pop (0.1.2) 171 - net-protocol 172 - net-protocol (0.2.2) 173 - timeout 174 - net-smtp (0.5.1) 175 - net-protocol 176 - nio4r (2.7.4) 177 - nokogiri (1.18.8-aarch64-linux-gnu) 178 - racc (~> 1.4) 179 - nokogiri (1.18.8-aarch64-linux-musl) 180 - racc (~> 1.4) 181 - nokogiri (1.18.8-arm-linux-gnu) 182 - racc (~> 1.4) 183 - nokogiri (1.18.8-arm-linux-musl) 184 - racc (~> 1.4) 185 - nokogiri (1.18.8-arm64-darwin) 186 - racc (~> 1.4) 187 - nokogiri (1.18.8-x86_64-darwin) 188 - racc (~> 1.4) 189 - nokogiri (1.18.8-x86_64-linux-gnu) 190 - racc (~> 1.4) 191 - nokogiri (1.18.8-x86_64-linux-musl) 192 - racc (~> 1.4) 193 - parallel (1.27.0) 194 - parser (3.3.8.0) 195 - ast (~> 2.4.1) 196 - racc 197 - pp (0.6.2) 198 - prettyprint 199 - prettyprint (0.2.0) 200 - prism (1.4.0) 201 - pry (0.15.2) 202 - coderay (~> 1.1) 203 - method_source (~> 1.0) 204 - psych (5.2.6) 205 - date 206 - stringio 207 - public_suffix (6.0.2) 208 - racc (1.8.1) 209 - rack (3.1.16) 210 - rack-session (2.1.1) 211 - base64 (>= 0.1.0) 212 - rack (>= 3.0.0) 213 - rack-test (2.2.0) 214 - rack (>= 1.3) 215 - rackup (2.2.1) 216 - rack (>= 3) 217 - rails (7.2.2.1) 218 - actioncable (= 7.2.2.1) 219 - actionmailbox (= 7.2.2.1) 220 - actionmailer (= 7.2.2.1) 221 - actionpack (= 7.2.2.1) 222 - actiontext (= 7.2.2.1) 223 - actionview (= 7.2.2.1) 224 - activejob (= 7.2.2.1) 225 - activemodel (= 7.2.2.1) 226 - activerecord (= 7.2.2.1) 227 - activestorage (= 7.2.2.1) 228 - activesupport (= 7.2.2.1) 229 - bundler (>= 1.15.0) 230 - railties (= 7.2.2.1) 231 - rails-dom-testing (2.3.0) 232 - activesupport (>= 5.0.0) 233 - minitest 234 - nokogiri (>= 1.6) 235 - rails-html-sanitizer (1.6.2) 236 - loofah (~> 2.21) 237 - nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) 238 - railties (7.2.2.1) 239 - actionpack (= 7.2.2.1) 240 - activesupport (= 7.2.2.1) 241 - irb (~> 1.13) 242 - rackup (>= 1.0.0) 243 - rake (>= 12.2) 244 - thor (~> 1.0, >= 1.2.2) 245 - zeitwerk (~> 2.6) 246 - rainbow (3.1.1) 247 - rake (13.3.0) 248 - rb-fsevent (0.11.2) 249 - rb-inotify (0.11.1) 250 - ffi (~> 1.0) 251 - rdoc (6.14.2) 252 - erb 253 - psych (>= 4.0.0) 254 - regexp_parser (2.10.0) 255 - reline (0.6.1) 256 - io-console (~> 0.5) 257 - rspec (3.13.1) 258 - rspec-core (~> 3.13.0) 259 - rspec-expectations (~> 3.13.0) 260 - rspec-mocks (~> 3.13.0) 261 - rspec-core (3.13.5) 262 - rspec-support (~> 3.13.0) 263 - rspec-expectations (3.13.5) 264 - diff-lcs (>= 1.2.0, < 2.0) 265 - rspec-support (~> 3.13.0) 266 - rspec-mocks (3.13.5) 267 - diff-lcs (>= 1.2.0, < 2.0) 268 - rspec-support (~> 3.13.0) 269 - rspec-support (3.13.4) 270 - rubocop (1.78.0) 271 - json (~> 2.3) 272 - language_server-protocol (~> 3.17.0.2) 273 - lint_roller (~> 1.1.0) 274 - parallel (~> 1.10) 275 - parser (>= 3.3.0.2) 276 - rainbow (>= 2.2.2, < 4.0) 277 - regexp_parser (>= 2.9.3, < 3.0) 278 - rubocop-ast (>= 1.45.1, < 2.0) 279 - ruby-progressbar (~> 1.7) 280 - unicode-display_width (>= 2.4.0, < 4.0) 281 - rubocop-ast (1.45.1) 282 - parser (>= 3.3.7.2) 283 - prism (~> 1.4) 284 - ruby-progressbar (1.13.0) 285 - securerandom (0.4.1) 286 - stringio (3.1.7) 287 - thor (1.3.2) 288 - timeout (0.4.3) 289 - tzinfo (2.0.6) 290 - concurrent-ruby (~> 1.0) 291 - unicode-display_width (3.1.4) 292 - unicode-emoji (~> 4.0, >= 4.0.4) 293 - unicode-emoji (4.0.4) 294 - useragent (0.16.11) 295 - websocket-driver (0.8.0) 296 - base64 297 - websocket-extensions (>= 0.1.0) 298 - websocket-extensions (0.1.5) 299 - yard (0.9.37) 300 - zeitwerk (2.7.3) 301 - 302 - PLATFORMS 303 - aarch64-linux-gnu 304 - aarch64-linux-musl 305 - arm-linux-gnu 306 - arm-linux-musl 307 - arm64-darwin 308 - x86_64-darwin 309 - x86_64-linux-gnu 310 - x86_64-linux-musl 311 - 312 - DEPENDENCIES 313 - activerecord (~> 7.0) 314 - concurrent-ruby (~> 1.0) 315 - fast-mcp (~> 1.5) 316 - listen (~> 3.8) 317 - pry (~> 0.14) 318 - rails (~> 7.0) 319 - rspec (~> 3.0) 320 - rubocop (~> 1.0) 321 - yard (~> 0.9) 322 - 323 - BUNDLED WITH 324 - 2.6.9
+2
lib/yard_mcp.rb
··· 4 4 require 'logger' 5 5 require 'yaml' 6 6 7 + require_relative 'yard_mcp/version' 8 + 7 9 module YardMcp 8 10 class Error < StandardError; end 9 11 class ConfigurationError < Error; end
+36
notes/test-rubocop-lookup.rb
··· 1 + #!/usr/bin/env ruby 2 + 3 + require_relative 'lib/yard_mcp' 4 + 5 + # Test script to check if RuboCop documentation is available 6 + puts "Testing RuboCop documentation lookup..." 7 + 8 + # Initialize registry 9 + registry = YardMcp::Registry.new 10 + registry.load_all 11 + 12 + # Wait a bit for background builds to complete 13 + puts "Waiting for background builds to complete..." 14 + sleep 5 15 + 16 + # Try to find RuboCop objects 17 + rubocop_objects = YARD::Registry.all.select { |obj| obj.path.to_s.start_with?('RuboCop') } 18 + 19 + puts "Found #{rubocop_objects.size} RuboCop objects" 20 + if rubocop_objects.any? 21 + puts "Sample RuboCop objects:" 22 + rubocop_objects.first(10).each do |obj| 23 + puts " #{obj.path} (#{obj.type})" 24 + end 25 + else 26 + puts "No RuboCop objects found yet - builds may still be in progress" 27 + end 28 + 29 + # Check if we can find the main RuboCop class 30 + rubocop_class = YARD::Registry.at('RuboCop') 31 + if rubocop_class 32 + puts "\nFound RuboCop main class: #{rubocop_class.path}" 33 + puts "Documentation: #{rubocop_class.docstring.summary}" if rubocop_class.docstring 34 + else 35 + puts "\nRuboCop main class not found yet" 36 + end