Data Intelligence MCP Server
by Meet1012
README.md
# Data Intelligence
This project builds a BigQuery-powered data assistant that combines an MCP server with a Streamlit chat interface. The backend exposes BigQuery operations through MCP tools, while the frontend lets users ask questions in natural language and receive answers with the help of an agent.
## What this project does
- Exposes BigQuery tools from the MCP server in [main.py](main.py)
- Lists tables and fetches table schemas
- Generates and executes BigQuery queries
- Provides a chat-based UI in [app.py](app.py) for interacting with your data
## Project structure
- [main.py](main.py): Defines the FastMCP server and BigQuery tool wrappers
- [app.py](app.py): Streamlit UI that connects to the MCP server and runs the agent
- [pyproject.toml](pyproject.toml): Project dependencies and Python metadata
## Prerequisites
Before running the project, make sure you have:
- Python 3.13 or newer
- A Google Cloud project with BigQuery access
- A valid Google Cloud credential configuration for BigQuery
- An Anthropic API key for the chat model used in the app
## Setup
1. Create and activate a virtual environment.
2. Install the dependencies:
- `pip install -r requirements.txt`
- or `uv sync`
3. Create a `.env` file in the project root with the required environment variables:
```env
ANTHROPIC_API_KEY=your_anthropic_api_key
GOOGLE_APPLICATION_CREDENTIALS=path/to/your/credentials.json
```
4. Update the placeholder values in [main.py](main.py) for your BigQuery project and dataset.
## Running the app
Start the MCP server first:
```bash
python main.py
```
In a second terminal, start the Streamlit app:
```bash
streamlit run app.py
```
The app expects the MCP server to be available at:
```text
http://localhost:8000/mcp
```
## Notes
- The current implementation in [main.py](main.py) uses placeholder values such as `project_id` and `dataset_name`. Replace these with your actual BigQuery project and dataset before running the app.
- The UI is designed for natural language interaction with BigQuery data, but the underlying SQL execution depends on your configured BigQuery access and credentials.
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues