my-portfolio-mcp
Provides tools for interacting with SurveyMonkey's API, enabling AI agents to manage surveys, collectors, and responses programmatically through the SurveyMonkey platform.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@my-portfolio-mcpshow my portfolio summary"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
my-portfolio-mcp
A FastMCP server (SurveyMonkey response toolkit) packaged so it installs into a
Dataiku code env's site-packages, which is both readable by the impersonated
run-as user and on PYTHONPATH.
Layout
my-portfolio-mcp/
├── pyproject.toml
├── README.md
└── mcpsrv/
├── __init__.py
└── mcp_portfolio_server.py # the one and only server moduleNote: there is a single server module. (A previous version shipped two divergent copies —
mcp_portfolio_server.pyandsurveymonkey_mcp.py— which caused Dataiku to run the older, buggy copy. They have been consolidated.)
Related MCP server: Dataiku DSS MCP Server
Required environment variables
Variable | Required | Purpose |
| yes | Bearer token; the server refuses to start without it. |
| no | Defaults to |
| no | Defaults to |
| no | Directory (e.g. a Dataiku managed-folder path) for persisting drafts to JSON so a |
| no | Defaults to |
Set these on the Dataiku code env / agent tool, not in the repo.
Install into the Dataiku code env
Push this folder to a git repo your Dataiku instance can reach.
In Dataiku: Administration → Code envs → DJH_Local_MCP → Packages to install, add one line:
git+https://YOUR-GIT-HOST/you/my-portfolio-mcp.git(Or build a wheel —
python -m build— and reference that instead.)Update / rebuild the code env.
Configure the Dataiku agent tool
command:
pythonargs (two separate entries):
-mmcpsrv.mcp_portfolio_server
Because the package is now in site-packages, -m resolves it and the file is
readable — clearing both the ModuleNotFoundError and the Errno 13 permission
error.
Equivalently, the installed console script mcp-portfolio-server runs the same
main() entry point.
Local sanity check (optional)
pip install -e .
SURVEYMONKEY_ACCESS_TOKEN=xxx python -m mcpsrv.mcp_portfolio_server
# should start and wait on stdin; Ctrl-C to exitTools exposed
list_surveys, list_collectors, load_survey, start_response,
save_answer, save_answers, review_response, submit_response,
get_submitted_response.
The flow is draft-based: start_response → save_answers (bulk; or save_answer
per question) → review_response → submit_response(user_confirmed=True).
Submission is a single POST /collectors/{id}/responses with the full pages
payload and response_status="completed".
Answers may be given by ID or by the human-readable choice/row/col text from
load_survey — the server resolves labels to IDs (case-insensitive) and, on a
non-match, returns an error listing the valid options. save_answers validates
each answer independently, so valid ones persist even when others fail.
Adding more tools
Add more @mcp.tool()-decorated functions in mcp_portfolio_server.py. Use
absolute paths or package-relative imports inside them — the tool subprocess runs
from a throwaway temp working directory, so bare relative paths will break.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for progressive tool usage at any scale (see https://klavis.ai)
MCP registry & directory: search, find & install 31k+ MCP servers & tools. Catalog and marketplace.
MCP server for Appcircle mobile CI/CD platform.
The MCP server for Azure DevOps, bringing the power of Azure DevOps directly to your agents.
Related MCP Servers
- FlicenseBqualityDmaintenanceA Model Context Protocol server framework featuring dynamic tool loading and automatic tool discovery from a dedicated directory. It leverages FastMCP to provide a robust environment for building, configuring, and testing individual Python-based tools.1-
- AlicenseBqualityDmaintenanceA comprehensive MCP server for Dataiku DSS integration, providing Claude Code with direct access to manage recipes, datasets, and scenarios.442 npm1Apache 2.0
- AlicenseNot gradedqualityFmaintenanceEnables dynamic creation and code generation of MCP servers using FastMCP, with tools for adding custom tools, resources, and generating runnable Python code.41MIT
- FlicenseNot gradedqualityDmaintenanceA Docker-based FastMCP server for dynamic Python code execution with support for multiple MCP clients, automatic validation, runtime installation, and browser automation.-