ruby-on-rails-mcp-server

duddn2012/ruby-on-rails-mcp-server

3.2

If you are the rightful owner of ruby-on-rails-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The Model Context Protocol (MCP) server is designed to facilitate AI-driven cosmetic recommendations by analyzing user skin data and preferences.

Tools
  1. register_user_skin_info

    Registers user skin information for personalized recommendations.

  2. get_cosmetic_recommendations

    Requests cosmetic recommendations based on user data.

  3. get_product_details

    Retrieves detailed information about a specific product.

๋‚ด ํ™”์žฅํ’ˆ์„ ์ฐพ์•„์ค˜!

๊ฐœ์š”

์‚ฌ์šฉ์ž์˜ ํ”ผ๋ถ€ ์ƒํƒœ์™€ ๊ณ ๋ฏผ์‚ฌํ•ญ์„ ๋ถ„์„ํ•˜์—ฌ ์ตœ์ ์˜ ํ™”์žฅํ’ˆ์„ ์ถ”์ฒœํ•ด์ฃผ๋Š” AI ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

์ฃผ์š” ๊ธฐ๋Šฅ

  • ๊ฐœ์ธ ๋งž์ถคํ˜• ํ™”์žฅํ’ˆ ์ถ”์ฒœ: ํ”ผ๋ถ€ํƒ€์ž…, ๊ณ ๋ฏผ์‚ฌํ•ญ, ์—ฐ๋ น๋Œ€๋ฅผ ๊ณ ๋ คํ•œ ๋งž์ถค ์ถ”์ฒœ
  • ์„ฑ๋ถ„ ๊ธฐ๋ฐ˜ ๋ถ„์„: ํ™”์žฅํ’ˆ ์„ฑ๋ถ„์˜ ํšจ๊ณผ์™€ ์•ˆ์ „์„ฑ์„ ๋ฐ์ดํ„ฐ๋กœ ๋ถ„์„
  • AI ์–ด์‹œ์Šคํ„ดํŠธ ์—ฐ๋™: MCP ์„œ๋ฒ„๋ฅผ ํ†ตํ•œ ์ž์—ฐ์–ด ๊ธฐ๋ฐ˜ ์ƒ๋‹ด ์„œ๋น„์Šค

๐Ÿ— ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜

์‚ฌ์šฉ์ž โ†’ AI ์–ด์‹œ์Šคํ„ดํŠธ โ†’ Rails ์•ฑ (API + MCP ์„œ๋ฒ„) โ†’ Database

๊ธฐ์ˆ  ์Šคํƒ

  • Backend: Ruby on Rails
  • Database: SQLite (๊ฐœ๋ฐœ) / PostgreSQL (์šด์˜)
  • AI ์—ฐ๋™: MCP (Model Context Protocol) ์„œ๋ฒ„
  • ๋ฐฐํฌ: Heroku

๐Ÿ“Š ๋ฐ์ดํ„ฐ ๋ชจ๋ธ

User (์‚ฌ์šฉ์ž)

  • skin_type: ํ”ผ๋ถ€ํƒ€์ž… (๊ฑด์„ฑ/์ง€์„ฑ/๋ณตํ•ฉ์„ฑ)
  • concerns: ๊ณ ๋ฏผ์‚ฌํ•ญ (์—ฌ๋“œ๋ฆ„/์ฃผ๋ฆ„/๋ฏธ๋ฐฑ ๋“ฑ)
  • age_group: ์—ฐ๋ น๋Œ€

Product (ํ™”์žฅํ’ˆ)

  • name, brand, category, ingredients, effects, price_range

Recommendation (์ถ”์ฒœ)

  • user_id, product_id, score: ๋งค์นญ ์ ์ˆ˜

๐Ÿค– MCP ์„œ๋ฒ„ ๊ตฌํ˜„

ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

app/ โ”œโ”€โ”€ controllers/ # ๊ธฐ์กด API ์ปจํŠธ๋กค๋Ÿฌ โ”œโ”€โ”€ models/ # ๊ธฐ์กด ๋ชจ๋ธ โ”œโ”€โ”€ mcp/ # MCP ์„œ๋ฒ„ (์ƒˆ๋กœ ์ถ”๊ฐ€) โ”‚ โ”œโ”€โ”€ server.rb # MCP ์„œ๋ฒ„ ๋ฉ”์ธ ํด๋ž˜์Šค โ”‚ โ”œโ”€โ”€ tools/ # MCP ๋„๊ตฌ๋“ค โ”‚ โ””โ”€โ”€ schemas/ # ์Šคํ‚ค๋งˆ ์ •์˜ โ””โ”€โ”€ views/ # ๊ธฐ์กด ๋ทฐ

MCP ๋„๊ตฌ

  • register_user_skin_info: ์‚ฌ์šฉ์ž ํ”ผ๋ถ€ ์ •๋ณด ๋“ฑ๋ก
  • get_cosmetic_recommendations: ํ™”์žฅํ’ˆ ์ถ”์ฒœ ์š”์ฒญ
  • get_product_details: ์ œํ’ˆ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ

๐Ÿ”„ ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜

๊ธฐ๋ณธ ์ถ”์ฒœ ๋กœ์ง

  1. ์‚ฌ์šฉ์ž ํ”ผ๋ถ€ํƒ€์ž…๊ณผ ๊ณ ๋ฏผ์‚ฌํ•ญ ๋ถ„์„
  2. ์„ฑ๋ถ„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ ํ•ฉํ•œ ์„ฑ๋ถ„ ์ฐพ๊ธฐ
  3. ํ•ด๋‹น ์„ฑ๋ถ„์ด ํฌํ•จ๋œ ์ œํ’ˆ๋“ค ํ•„ํ„ฐ๋ง
  4. ๊ฐ€๊ฒฉ๋Œ€, ๋ธŒ๋žœ๋“œ ์„ ํ˜ธ๋„ ๊ณ ๋ คํ•˜์—ฌ ์ˆœ์œ„ ๊ฒฐ์ •

๋งค์นญ ์ ์ˆ˜ ๊ณ„์‚ฐ

  • ํ”ผ๋ถ€ํƒ€์ž… ๋งค์นญ: 40์ 
  • ๊ณ ๋ฏผ์‚ฌํ•ญ ๋งค์นญ: 30์ 
  • ์—ฐ๋ น๋Œ€ ๋งค์นญ: 20์ 
  • ๊ฐ€๊ฒฉ๋Œ€ ๋งค์นญ: 10์ 

๐ŸŽจ AI ์–ด์‹œ์Šคํ„ดํŠธ ์—ฐ๋™

์‚ฌ์šฉ ์˜ˆ์‹œ

์‚ฌ์šฉ์ž: "๊ฑด์„ฑ ํ”ผ๋ถ€์ธ๋ฐ ์ฃผ๋ฆ„์ด ๋งŽ์ด ์ƒ๊ธฐ๊ณ  ์žˆ์–ด์š”. ์ถ”์ฒœํ•ด์ฃผ์„ธ์š”."

AI ์–ด์‹œ์Šคํ„ดํŠธ โ†’ MCP ์„œ๋ฒ„:

  1. register_user_skin_info ํ˜ธ์ถœ
  2. get_cosmetic_recommendations ํ˜ธ์ถœ
  3. ๊ฒฐ๊ณผ๋ฅผ ์ž์—ฐ์–ด๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์‘๋‹ต

์ž์—ฐ์–ด ๋ช…๋ น์–ด ์˜ˆ์‹œ

  • "๊ฑด์„ฑ ํ”ผ๋ถ€์— ์ข‹์€ ์„ธ๋Ÿผ ์ถ”์ฒœํ•ด์ค˜"
  • "์—ฌ๋“œ๋ฆ„์„ฑ ํ”ผ๋ถ€์šฉ ํ† ๋„ˆ ์ฐพ์•„์ค˜"
  • "30๋Œ€ ์—ฌ์„ฑ์šฉ ์•ˆํ‹ฐ์—์ด์ง• ํฌ๋ฆผ ์ถ”์ฒœ"
  • "์ถ”์ฒœ๋ฐ›์€ ์ œํ’ˆ์˜ ์„ฑ๋ถ„ ๋ถ„์„ํ•ด์ค˜"

๐Ÿš€ ๊ฐœ๋ฐœ ๋ฐ ๋ฐฐํฌ

๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์ •

bash bundle install rails db:create db:migrate db:seed rails server

MCP ์„œ๋ฒ„ ์‹คํ–‰

bash rails mcp:server:start

๋˜๋Š”

ruby app/mcp/server.rb

ํ™˜๊ฒฝ ์„ค์ •

ruby

config/mcp_server.yml

development: port: 3001 host: "localhost" api_base_url: "http://localhost:3000/api"

Heroku ๋ฐฐํฌ

bash git push heroku main heroku ps:scale mcp=1

๐Ÿ“‹ API ์—”๋“œํฌ์ธํŠธ

์‚ฌ์šฉ์ž ๊ด€๋ฆฌ

  • POST /api/users - ์‚ฌ์šฉ์ž ํ”ผ๋ถ€ ์ •๋ณด ๋“ฑ๋ก
  • GET /api/users/:id - ์‚ฌ์šฉ์ž ์ •๋ณด ์กฐํšŒ

์ œํ’ˆ ๊ด€๋ฆฌ

  • GET /api/products - ํ™”์žฅํ’ˆ ๋ชฉ๋ก ์กฐํšŒ
  • GET /api/products/:id - ์ œํ’ˆ ์ƒ์„ธ ์ •๋ณด

์ถ”์ฒœ ์‹œ์Šคํ…œ

  • POST /api/recommendations - ํ™”์žฅํ’ˆ ์ถ”์ฒœ ์š”์ฒญ
  • GET /api/recommendations/:user_id - ์‚ฌ์šฉ์ž๋ณ„ ์ถ”์ฒœ ๊ฒฐ๊ณผ ์กฐํšŒ

์ด์ œ AI ์–ด์‹œ์Šคํ„ดํŠธ๊ฐ€ MCP ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ์ง€๋Šฅ์ ์ธ ํ™”์žฅํ’ˆ ์ถ”์ฒœ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!