
Security News
Follow-up and Clarification on Recent Malicious Ruby Gems Campaign
A clarification on our recent research investigating 60 malicious Ruby gems.
A Model Context Protocol (MCP) server that provides AI assistants like Claude with secure access to Schwab's trading API. This gem enables natural language interactions with your Schwab brokerage account for retrieving market data, quotes, option chains, account information, and managing trades.
This gem is built on top of the schwab_rb Ruby gem, which provides the underlying Schwab API client functionality.
Add this gem to your application's Gemfile:
bundle add schwab_mcp
Or install it directly:
gem install schwab_mcp
Before using this gem, you'll need:
Dependencies:
Create a .env
file in your project root with the following required variables:
SCHWAB_API_KEY=your_schwab_api_key
SCHWAB_APP_SECRET=your_schwab_app_secret
SCHWAB_CALLBACK_URI=your_callback_uri
TOKEN_PATH=path/to/your/token.json
Start the server using the provided executable:
bundle exec exe/schwab_mcp
Or use the convenience script:
./start_mcp_server.sh
The gem includes utility scripts for managing Schwab API authentication tokens:
To refresh your existing authentication tokens:
bundle exec exe/schwab_token_refresh
This script will automatically refresh your tokens using the existing token file specified in your TOKEN_PATH
environment variable.
To delete existing tokens and start the authentication process fresh:
bundle exec exe/schwab_token_reset
This script will:
The MCP server provides the following tools for AI assistants:
Configure Claude Desktop to use this MCP server by adding it to your claude_desktop_config.json
.
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
bundle install
to install dependencies.env.example
to .env
and configure your Schwab API credentialsbundle exec rspec
bundle exec exe/schwab_mcp
Run the test suite:
bundle exec rspec
The project uses RuboCop for code style enforcement:
bundle exec rubocop
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and the created tag, and push the .gem
file to rubygems.org.
Bug reports and pull requests are welcome on GitHub at https://github.com/jwplatta/schwab_mcp. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.
git checkout -b my-new-feature
)bundle exec rspec
)bundle exec rubocop
)git commit -am 'Add some feature'
)git push origin my-new-feature
)Please ensure your contributions:
The gem is available as open source under the terms of the MIT License.
Everyone interacting in the SchwabMcp project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.
FAQs
Unknown package
We found that schwab_mcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
A clarification on our recent research investigating 60 malicious Ruby gems.
Security News
ESLint now supports parallel linting with a new --concurrency flag, delivering major speed gains and closing a 10-year-old feature request.
Research
/Security News
A malicious Go module posing as an SSH brute forcer exfiltrates stolen credentials to a Telegram bot controlled by a Russian-speaking threat actor.