Skip to content

Feat/integrations#5767

Merged
TimothyZhang7 merged 317 commits intomainfrom
feat/integrations
Mar 4, 2026
Merged

Feat/integrations#5767
TimothyZhang7 merged 317 commits intomainfrom
feat/integrations

Conversation

@TimothyZhang7
Copy link
Collaborator

feat: Add 56 new tool integrations (335 tools)

closes #5765

Summary

This PR adds 56 new third-party integrations to the Hive MCP tool server, bringing the total from 44 tool modules (276 tools) to 100 tool modules (611 tools). All new integrations follow the existing httpx-based pattern with no new SDK dependencies.

New integrations are loaded under an unverified tierregister_all_tools() only loads stable tools by default. Pass include_unverified=True to include the new integrations. This allows incremental verification without blocking the merge.

Community PR Incorporation

Where community PRs existed for the same integration, they were merged and the best implementation was kept (preferring more comprehensive tool coverage). Community READMEs and tests were preserved where applicable.

Integration Issue/PR Tools Community PR Resolution
Trello #3376 9 Merged Used community (9 tools vs 6)
Linear #3585 18 Merged Used community (18 tools via GraphQL)
YouTube Transcript #3520 3 Merged Kept ours (community required youtube_transcript_api SDK)
Redshift #3533 5 Merged Kept ours
Twitter/X #3807 4 Merged Kept ours
Calendly #3947 5 Merged Kept ours
Airtable #3953 6 Merged Kept ours
Reddit #3963 4 Merged Kept ours (community required praw SDK)
Power BI #4341 5 Merged Kept ours (community had shell artifacts)
QuickBooks #4158 5 Merged Kept ours
MSSQL #4200 4 Merged Community-only (kept as unregistered, requires pyodbc)
Zoho CRM #4713 6 Merged Kept ours
Lusha #4714 5 Merged Kept ours
Apify #4770 6 Merged Kept ours
Attio #4832 15 Merged Used community (15 tools vs 8)
Asana #4857 6 Merged Kept ours (community required asana SDK)
Brevo #5136 6 Merged Used community (6 tools vs 5)
Databricks #5428 8 Merged Kept ours
Pushover #5424 4 Merged Kept ours
AWS S3 #5521 5 Merged Kept ours (community required boto3 SDK)
Plaid #5518 6 Merged Kept ours
SAP S/4HANA #5519 5 Merged Kept ours
YouTube Data API #5673 5 Merged Kept ours

New Integrations (no community PR)

Integration Issue Tools Category
Zoom #2867 6 Video Conferencing
Salesforce #2916 6 CRM
n8n #2931 6 Workflow Automation
Shopify #2984 6 E-commerce
SAP S/4HANA #3182 5 ERP
Snowflake #3230 3 Data Warehouse
Amazon Redshift #3267 5 Data Warehouse
Azure SQL #3377 5 Database
Lusha #3461 5 B2B Data
Obsidian #3741 6 Knowledge Management
Google Analytics #3727 4 Analytics
Power BI #3973 5 BI & Reporting
Terraform Cloud #4773 5 Infrastructure
Apache Kafka #4774 6 Messaging
Vercel #5044 7 Deployment
Databricks #5167 8 Data Engineering
Langfuse #5322 6 LLM Observability
Redis #5370 11 In-Memory Store
Pushover #5415 4 Notifications
Supabase #5489 7 Backend-as-a-Service
Microsoft Graph #5601 7 Productivity (Outlook, Teams, OneDrive)
YouTube Data API #5603 5 Video
Tines 5 Security Automation
Twitter/X 4 Social Media
QuickBooks 5 Accounting
AWS S3 5 Object Storage
PagerDuty 5 Incident Management
Calendly 5 Scheduling
MongoDB 6 Database
Airtable 6 Spreadsheet DB
Twilio 4 Messaging
Zendesk 5 Support
GitLab 6 DevOps
Google Sheets 3 Spreadsheets
Notion 5 Productivity
Jira 6 Project Management
Greenhouse 6 ATS / Recruiting
YouTube Transcript 3 Video
Cloudinary 5 Media Management
Reddit 4 Social Media
Confluence 5 Wiki
Trello 9 Project Management
HuggingFace 6 ML Models
Plaid 6 Banking
Pinecone 9 Vector Database
DuckDuckGo 3 Search
Linear 18 Issue Tracking
Asana 6 Project Management
Yahoo Finance 5 Finance
Google Search Console 5 SEO
Zoho CRM 6 CRM
Apify 6 Web Scraping
Attio 15 CRM
Pipedrive 10 CRM
Docker Hub 4 Container Registry

Architecture

  • No new SDK dependencies — all integrations use httpx for HTTP calls
  • Verified/unverified tierregister_all_tools(include_unverified=True) to opt in
  • Credential specs — each integration has a CredentialSpec with env var, help URL, and setup instructions
  • Health checkers — added for Calendly (calendly_pat) and Lusha (lusha_api_key)
  • Shared AWS credentials — S3 and Redshift share AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY via credential_group="aws"

Closes

#2867 #2916 #2931 #2984 #3182 #3230 #3267 #3376 #3377 #3461 #3520 #3533 #3585 #3727 #3741 #3807 #3947 #3953 #3963 #3973 #4158 #4341 #4510 #4713 #4714 #4770 #4773 #4774 #4832 #4857 #5044 #5136 #5167 #5322 #5370 #5415 #5424 #5428 #5489 #5518 #5519 #5521 #5601 #5603 #5673

Test plan

  • Full test suite: 5026 passed, 246 skipped, 1 pre-existing failure
  • All credential specs validated (env vars, tool name mappings)
  • No duplicate env var collisions (AWS shared via credential_group)
  • Duplicate community directories removed (s3_tool, power_bi_tool, x_tool, integrations/plaid, integrations/sap_s4hana)
  • Manual verification of individual integrations with live API keys

shivamshahi07 and others added 30 commits February 15, 2026 21:47
- Fix export endpoint: /Export -> /ExportTo
- Add 202 Accepted response handling
- Add notifyOption to refresh_dataset API call
- Rename format parameter to export_format (avoid shadowing builtin)
- Add PNG support to export formats
- All critical API issues from review addressed
…lters

Lusha API rejects filters.companies.include.searchText (HTTP 400).
Replaced with valid 'names' field in search_companies and removed
redundant company searchText from search_people. Updated unit tests.
…l handling

- search_companies: replace names filter with mainIndustriesIds (numeric
  industry IDs) per Lusha API schema. Parameter changed from
  industry: str to industry_ids: list[int] | None.
- _get_api_key: return None instead of raising TypeError on unexpected
  credential type. Lets _get_client handle it with the standard error dict
  pattern used across all tools.
- Updated unit tests for new industry_ids parameter and added test for
  non-string credential handling.
…n, correct types

- search_people: replaced freetext searchText concatenation with proper
  structured Lusha API filters (jobTitles, seniority as list[int],
  departments, locations as dict, company_names, industry_ids, search_text)
- search_companies: added locations, company_names, search_text params;
  made all params optional for flexible queries
- Pagination: exposed limit param (clamped 10-50 per Lusha API constraints)
  on both search tools, replacing hardcoded size=25
- get_signals: changed ids from list[str] to list[int], removed internal
  str-to-int conversion as Lusha IDs are always numeric
- seniority type corrected to list[int] (API rejects string-encoded values
  despite OpenAPI spec suggesting strings — verified via live integration)
- Unit tests updated for all changes (19/19 pass)

Verified against live Lusha API: all 6 tools return correct responses.
- Add brevo_tool with 6 MCP tools: brevo_send_email, brevo_send_sms,
  brevo_create_contact, brevo_get_contact, brevo_update_contact,
  brevo_get_email_stats
- Add CredentialSpec for BREVO_API_KEY in credentials/brevo.py
- Register brevo_tool in tools/__init__.py and credentials/__init__.py
- Add README with setup instructions and usage examples
- Add 34 unit tests covering all tools, validation and error handling

Closes #5127
Implements the Databricks MCP tool integration for the Hive agent framework
- Add S3Storage class with upload, download, list, delete operations
- Support IAM roles, environment variables, and credential store
- Implement retry logic with adaptive backoff
- Add MCP tools: s3_upload, s3_download, s3_list, s3_delete, s3_check_credentials
- Include comprehensive tests with moto mocking
- Add documentation for setup and IAM permissions

Closes #3012
Add complete SAP S/4HANA integration with:
- Connector for OData API access
- Credential management following Hive patterns
- Unit tests with mocked responses
- Documentation and usage examples

Refs #3182
- Implement Plaid connector for account balances
- Add transaction history retrieval
- Include GL reconciliation functionality
- Add institution metadata lookup
- Include comprehensive tests and documentation

Closes #4016
- Expose page parameter on search_people and search_companies
  (client + MCP tool) enabling access beyond the first 50 results
- Add guard requiring at least one filter on both search endpoints
  to prevent broad requests that burn API credits
- Add unit tests for pagination and empty filter validation
- Implement 6 YouTube API tools (search videos, get video/channel details, list channel videos, get playlist items, search channels)
- Add YOUTUBE_API_KEY credential spec with help_url and description
- Register YouTube tool in tools/__init__.py
- Add comprehensive test coverage (18 tests) with mocking
- Add detailed README with setup instructions and examples
- Use httpx for HTTP requests to YouTube Data API v3
- Verified with real API integration testing

Implements #5603
# Conflicts:
#	tools/src/aden_tools/credentials/health_check.py
#	tools/src/aden_tools/tools/__init__.py
#	tools/tests/test_health_checks.py
8 tools: search_videos, get_video_details, get_channel, list_channel_videos,
get_playlist, search_channels, get_video_comments, get_video_categories.
All 17 unit tests and 13 conformance tests passing.
11 tools: outlook_list_messages, outlook_get_message, outlook_send_mail,
teams_list_teams, teams_list_channels, teams_send_channel_message,
teams_get_channel_messages, onedrive_search_files, onedrive_list_files,
onedrive_download_file, onedrive_upload_file.
All 15 unit tests and 13 conformance tests passing.
7 tools: supabase_select, supabase_insert, supabase_update, supabase_delete,
supabase_auth_signup, supabase_auth_signin, supabase_edge_invoke.
All 19 unit tests and 13 conformance tests passing.
…iring

- Remove s3_tool (duplicate of aws_s3_tool), power_bi_tool (duplicate of
  powerbi_tool), x_tool (duplicate of twitter_tool)
- Remove integrations/plaid (duplicate of plaid_tool), integrations/sap_s4hana
  (duplicate of sap_tool), stray tools/mssql.py
- Add help key to credential error responses across 14 tool modules
- Fix health checker registry keys (calendly -> calendly_pat, lusha -> lusha_api_key)
- Add health_check_endpoint to calendly and lusha credential specs
- Fix Trello env var (TRELLO_TOKEN -> TRELLO_API_TOKEN) and remove duplicate
  Trello specs from hubspot.py
- Add credential_group="aws" to AWS S3 and Redshift specs sharing env vars
- Update conftest UNREGISTERED_COMMUNITY_MODULES to only contain mssql_tool
register_all_tools() now only loads verified (stable) tools by default.
Pass include_unverified=True to also load new/community integrations.
This prevents unverified tools from being loaded in production.

Also fixes duplicate register_brevo and register_pushover calls.
- Break long lines (E501) across 25+ files
- Replace bare except with except Exception (E722)
- Rename ambiguous variable `l` to `item` (E741)
- Prefix unused variables with underscore (F841)
@TimothyZhang7 TimothyZhang7 merged commit 465adf5 into main Mar 4, 2026
5 of 6 checks passed
@TimothyZhang7
Copy link
Collaborator Author

Note: make register unverified tools an environment variable

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Integration]: Expand Hive MCP tool server to 100+ integrations

10 participants