About Bull Vision Agent
Bull Vision Agent is a FastAPI-based Telegram bot for stock analysis and trading discussions, built with OpenAI Agents SDK. It combines market data and news capabilities through MCPHub and tracks conversation and trading context.
Key features
- 01Telegram bot with webhook support
- 02AI-assisted stock analysis
- 03Stock news and market data analysis
- 04Volume pattern detection
- 05Conversation and trading context tracking
- 06MongoDB data persistence
Use cases
- 01Ask for analysis of a stock such as AAPL
- 02Review recent news about a company
- 03Discuss market views and trading strategies
- 04Check volume patterns for a stock
MCP support
MCPHub manages connections to multiple MCP servers that provide stock news, volume analysis, real-time stock data, and market news capabilities.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEBull Vision Agent
A FastAPI application that integrates with Telegram using webhooks and OpenAI Agents SDK for AI-powered stock trading assistance, utilizing MCPHub for multiple MCP server management.
Features
- Telegram bot integration with webhook support
- AI-powered stock analysis using OpenAI Agents SDK
- Multiple MCP server integration via MCPHub:
- Stock news analysis
- Volume wall detection
- Real-time stock data analysis
- Market news integration
- Conversation history tracking
- Trading context management
- MongoDB integration for data persistence
Project Structure
├── app/
│ ├── __init__.py
│ ├── main.py # FastAPI app with MCPHub initialization
│ ├── api/
│ │ ├── __init__.py
│ │ └── telegram_webhook.py # Telegram webhook endpoint
│ ├── bot/
│ │ ├── __init__.py
│ │ ├── bot.py # Bot instance and context management
│ │ ├── agent.py # AI agent implementation with MCP servers
│ │ ├── context.py # Conversation context and history
│ │ └── telegram_handler.py # Process incoming messages
│ ├── core/
│ │ ├── __init__.py
│ │ └── settings.py # Application settings
│ ├── models/
│ │ ├── __init__.py
│ │ └── news.py # News data models
│ ├── services/
│ │ ├── __init__.py
│ │ └── mongodb_service.py # MongoDB operations
│ └── startup.py # Startup events
Setup
-
Clone the repository
-
Install dependencies:
poetry install -
Copy
.env.exampleto.envand fill in the required values:cp .env.example .env -
Edit
.envwith your actual values:TELEGRAM_BOT_TOKEN: Your Telegram bot token from @BotFatherTELEGRAM_WEBHOOK_URL: The public URL where your bot will receive updatesHOSTandPORT: Server configurationAZURE_OPENAI_API_KEY: Your Azure OpenAI API keyAZURE_OPENAI_ENDPOINT: Your Azure OpenAI endpointAZURE_OPENAI_DEPLOYMENT: Your Azure OpenAI deployment nameAZURE_OPENAI_API_VERSION: Azure OpenAI API versionMONGO_URI: MongoDB connection stringMONGO_DB: MongoDB database name
Running the Application
Start the server:
make run
Webhook Setup
- Make sure your server is publicly accessible
- The webhook URL should be in the format:
https://your-domain.com/api/telegram/webhook - The webhook will be automatically registered when the application starts
Available Commands
/start- Start the bot/help- Show help message
Example Queries
You can ask the bot about:
- Stock analysis (e.g., "Analyze AAPL")
- Market news (e.g., "What's the latest news about Tesla?")
- Trading strategies (e.g., "What's your view on the current market?")
- Volume analysis (e.g., "Check volume patterns for MSFT")
Development Commands
make install # Install dependencies
make run # Run the application
make test # Run tests
make lint # Run linters
make format # Format the code
make clean # Clean up generated files
make setup # Setup development environment
make check # Run all checks
Documentation
For detailed instructions on:
- Setting up the AI Chatbot with Telegram and OpenAI Agents SDK, see init_telegram_openai_agent.md
- Using MCPHub with multiple MCP servers, see create_telegram_chatbot_multi_mcp_server.md
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.