- Home
- MCP servers
- OpenDart
OpenDart
- python
0
GitHub Stars
python
Language
4 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
You can use the OpenDart MCP Server to access external tools and services from a language model, enabling data crawling and caching for stock fundamentals and related disclosures. This MCP server acts as a bridge between the model and external data sources, providing a fast, Pythonic approach to building and deploying MCP-enabled clients.
How to use
You will connect your MCP client to the HTTP MCP server endpoint and invoke the available tools through the MCP interface. The server exposes prebuilt capabilities to fetch external stock fundamentals and related documents, then return structured results that your client can display or process further. Use the MCP URL provided for your deployment, and ensure your client sends proper authentication headers if required by your setup.
How to install
Prerequisites you need before installing the MCP server: Google Cloud SDK (gcloud) installed and authenticated, and access to a Google Cloud project where you can deploy Cloud Run services.
Step 1: Set environment variables for the deployment. Replace placeholders with your actual project name and desired MCP server name.
Step 2: Enable required Google Cloud services once per project.
Step 3: Create a dedicated service account for the MCP server and grant necessary roles for invocation and secret access.
Step 4: Deploy the MCP server to Cloud Run using your package source. You will specify the service account, region, and labels for your deployment. The commands below show the typical flow used in the deployment process.
MCP_SERVER_NAME=opendart-mcp-server
export GOOGLE_CLOUD_PROJECT=sayouzone-ai
# GCP settings (one-time setup)
gcloud services enable \
run.googleapis.com \
artifactregistry.googleapis.com \
cloudbuild.googleapis.com
# Create a dedicated service account for the MCP server
gcloud iam service-accounts create mcp-server-sa --display-name="MCP Server Service Account"
# Grant invoker role to the current user
gcloud projects add-iam-policy-binding $GOOGLE_CLOUD_PROJECT \
--member=user:$(gcloud config get-value account) \
--role='roles/run.invoker'
# Grant secret access to the service account
gcloud projects add-iam-policy-binding $GOOGLE_CLOUD_PROJECT \
--member=serviceAccount:mcp-server-sa@$GOOGLE_CLOUD_PROJECT.iam.gserviceaccount.com \
--role="roles/secretmanager.secretAccessor"
# Deploy from package source (test with package source)
gcloud run deploy $MCP_SERVER_NAME \
--service-account=mcp-server-sa@$GOOGLE_CLOUD_PROJECT.iam.gserviceaccount.com \
--no-allow-unauthenticated \
--region=us-central1 \
--source=. \
--labels=dev-tutorial=stocks-mcp
# If you want to test with source and access, omit the --service-account flag and keep authentication as needed
gcloud run deploy $MCP_SERVER_NAME \
--region=us-central1 \
--source=. \
--labels=dev-tutorial=stocks-mcp
# Example for the sayou-stock deployment test (adjust as needed)
gcloud run deploy $MCP_SERVER_NAME \
--service-account=mcp-server-sa@$GOOGLE_CLOUD_PROJECT.iam.gserviceaccount.com \
--no-allow-unauthenticated \
--region=us-central1 \
--source=. \
--labels=dev-tutorial=stocks-mcp
# Access test (optional): obtain an identity token and use it in your client
export PROJECT_NUMBER=$(gcloud projects describe $GOOGLE_CLOUD_PROJECT --format="value(projectNumber)")
export ID_TOKEN=$(gcloud auth print-identity-token)
Configuration and server endpoints
The HTTP MCP server endpoint you can connect to after deployment looks like this, with your project-specific number substituted for the placeholder: https://opendart-mcp-server-$PROJECT\_NUMBER.us-central1.run.app/mcp
In your client settings, include the remote MCP server configuration with the URL above and the required authorization headers if your setup uses token-based access. An example client configuration payload is shown in the deployment guide for your environment.
Troubleshooting and notes
If you encounter tool errors during development, verify that any browser automation or external tooling used by the MCP tools is installed on the server where the MCP components run. For example, certain tooling may require additional browsers or runtime dependencies to be present.
Monitor deployment and service status in the Cloud Run console, and ensure the service account has the needed permissions for invocation and secret access. If you run into authentication issues, re-check the identity token and the client’s authorization header configuration.
Additional content
The server is designed to provide access to stock-related data sources and canonical disclosures through a streamlined MCP interface. You can scale by deploying additional MCP endpoints and connecting multiple clients or environments to the same server.
Available tools
find_fnguide_data
Fetches fundaments data from FNGUIDE data source for a given stock.
find_yahoofinance_data
Retrieves Yahoo Finance data for a specified stock or symbol.
get_yahoofinance_fundamentals
Gets fundamental financial metrics from Yahoo Finance.
save_fundamentals_data_to_gcs
Saves fetched fundamentals data to Google Cloud Storage.
get_animal_details
Retrieves detailed information about a specific animal species (from the zoo data set).
get_animals_by_species
Lists animals matching a given species from the zoo data set.