Foundry MCP Server
# Foundry MCP Server
A Model Context Protocol server for interacting with Foundry.
It allows AI assistants to interact with datasets, ontology objects and functions.
## Tools 🌟
- list datasets
- query datasets
- list ontology objects
- query ontology objects
- list functions
- execute functions
## Prerequisites
* Python 3.9+
* mcp
* pyarrow
* pandas
* foundry-platform-sdk
# Environment Variables 🌍
The server requires few configuration variables to run:
| Variable | Description | Default |
|------------------|----------------------------------------------------------------------|-------------|
| `HOSTNAME` | Your hostname of your Foundry instance | *required* |
| `TOKEN` | A user token that you can generate in your profile page | *required** |
| `CLIENT_ID` | A service user that is created in developer console | *required** |
| `CLIENT_SECRET` | A secret associated with the service user | *required** |
| `SCOPES` | Oauth scopes | None |
| `ONTOLOGY_ID` | Your ontology id | *required* |
* if token is not provided the server will try to authenticate using the oauth2 flow with client_id and client_secret
## Usage
### uv
first you need to clone the repository and add the config to your app
``` json
{
"mcpServers": {
"foundry": {
"command": "uv",
"args": [
"--directory",
"<path_to_mcp_server>",
"run",
"mcp-server-foundry"
],
"env": {
"HOSTNAME": "<hostname>",
"TOKEN": "<token>",
"CLIENT_ID": "<client_id>",
"CLIENT_SECRET": "<client_secret>",
"SCOPES": "<scopes>",
"ONTOLOGY_ID": "<ontology_id>"
}
}
}
}
```
## Development
To run the server in development mode:
```bash
# Clone the repository
git clone git@github.com:qwert666/mcp-server-foundry.git
# Run the server
npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-foundry-server run mcp-server-foundry
```
# Contributing
- Fork the repository
- Create your feature branch (git checkout -b feature/amazing-feature)
- Commit your changes (git commit -m 'Add some amazing feature')
- Push to the branch (git push origin feature/amazing-feature)
- Open a Pull Request
# License 📜
MIT License - see LICENSE file for details
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose with no overlap. execute_function runs code, list_functions enumerates functions, list_ontology_types lists types, query_dataset queries datasets, and query_ontology_type queries specific ontology types. The descriptions clearly differentiate their scopes and usage contexts.
All tools follow a consistent verb_noun pattern using snake_case. The verbs (execute, list, query) are appropriately chosen for their actions, and the nouns (function, ontology_type, dataset) clearly indicate the target resources. No deviations or mixed conventions are present.
With 5 tools, this server is well-scoped for its apparent domain of data and function management in a Foundry context. Each tool serves a distinct and necessary purpose, covering listing, querying, and execution operations without bloat or redundancy.
The toolset provides solid coverage for querying and listing operations on functions, datasets, and ontology types, with execute_function enabling action. A minor gap exists in update/delete operations for these resources, but agents can likely work with the provided read/execute capabilities for common workflows.