# Forj MCP

> Forj MCP manages professional community life by letting your AI agent interact directly with your groups, members, and activity logs. Need to find a specific user's profile or check who joined the 'Beta Testers' group? This connector gives you those answers through natural conversation, automating core community operations previously done in dashboards.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** community-management, member-engagement, group-coordination, crm-integration, professional-networking

## Description

Managing a large professional community means juggling membership lists, tracking participation levels, and constantly setting up new groups. Doing this manually—clicking across multiple tabs just to see who hasn't logged in or confirming if someone is in the right segment—is tedious. This MCP lets you talk to your community data instead of clicking through it. You can ask your agent things like, 'List all pending group join requests for Q3,' and get a structured answer immediately. It’s built to organize professional groups, monitor member activity, and sync that data out to other systems. Connecting this MCP via Vinkius means you bring the power of Forj's organization right into your favorite AI client, making community oversight part of your normal workflow.

## Tools

### add_user_to_group
Moves an existing member into a specified community group.

### create_group
Establishes a brand new organizational segment or topic area within the community.

### find_user
Locates a specific user profile using only their unique email address.

### get_account_details
Retrieves high-level metadata about the entire community account setup.

### get_group
Fetches all specific details and rules for a single, existing group.

### get_user_activity
Gathers the full historical log of interactions and participation from one member.

### list_group_members
Provides a list of every user currently assigned to a specific group.

### list_groups
Returns a complete directory of all established community groups.

### list_invitations
Shows details for invitations that have been sent out to potential members.

### list_pending_requests
Displays a list of group join requests that are waiting for moderator approval.

### list_webhooks
Lists the active webhook endpoints used for real-time data synchronization with other systems.

### search_users
Searches for community members using general keywords or partial names.

## Prompt Examples

**Prompt:** 
```
List all groups in my Forj community.
```

**Response:** 
```
Retrieving groups... I found 4 organizational groups, including 'General Discussions' and 'VIP Members'.
```

**Prompt:** 
```
Find the member profile for 'jane.doe@example.com'.
```

**Response:** 
```
Searching... I found a profile for Jane Doe. She is a member of 3 groups and was last active yesterday.
```

**Prompt:** 
```
Show me recent activity for user ID 'user_123'.
```

**Response:** 
```
Retrieving activity log... User user_123 recently joined the 'Beta Testers' group and posted 2 comments.
```

## Capabilities

### Discover specific members
Find a user by their email address or search for profiles using keywords.

### Manage group structures
List all existing groups, create brand new organizational segments, and check the details of any given group.

### Adjust membership status
Assign users to specific groups or review members waiting for approval to join a segment.

### Audit member participation
Fetch detailed logs showing when and how often a user interacted with the community platform.

### Track growth pipelines
View sent invitations or monitor pending invitation lists to plan your next outreach campaign.

### Review system connections
Access account metadata and list active webhooks for real-time data synchronization checks.

## Use Cases

### Onboarding a new collaborator
A Product Manager needs to add a newly hired contractor who was found via an email address. They ask their agent to use `find_user` first, then immediately execute `add_user_to_group` to place the user in the 'Internal Reviewers' group.

### Auditing community engagement
A Community Manager needs to identify members who haven't participated recently. They ask the agent to run `get_user_activity` on a list of IDs, instantly pinpointing inactive users for re-engagement.

### Restructuring the community
The platform owner needs to split 'General Discussions' into two specialized groups. They ask the agent to `list_groups` first, then use `create_group` twice and assign users using `add_user_to_group`.

### Reviewing access control issues
An Ops Engineer needs to verify if a user was correctly added. They ask the agent to first run `list_groups` to see all options, and then use `get_group` on a specific group name to confirm membership rules.

## Benefits

- Stop manually pulling reports. Instead of having to check individual dashboards, you can use `get_user_activity` to instantly pull a full participation history for any member.
- Never lose track of your growth pipeline again. With `list_invitations`, you get an immediate count and status of every outreach effort without opening the web portal.
- Maintain governance easily. Instead of wading through dashboards, use `list_pending_requests` to see who needs a quick approval to join a group.
- Organize membership in bulk. You can run `create_group` to segment users and then immediately use `add_user_to_group` to place them where they belong.
- Find people fast. Need Jane Doe's profile? Use `find_user` by her email, or use `search_users` if you only know part of her name.

## How It Works

The bottom line is that instead of logging into Forj, you simply tell your AI client what needs doing with the community data.

1. Subscribe to this MCP through the Vinkius Marketplace.
2. Enter your Forj API Key and Secret Key, which you find in your platform settings.
3. Start prompting your AI agent. You can now ask it to perform actions like 'List all groups' or 'Find user by email,' and it executes the command.

## Frequently Asked Questions

**How do I check a user's history using get_user_activity?**
You tell your agent to run `get_user_activity` and provide the specific User ID. It returns a detailed log of their recent actions, showing when they posted or joined groups.

**Is there a way to find users by name? (search_users)**
Yes, you can use `search_users`. This tool allows your agent to search community members using keywords if you don't know their exact email address.

**What is the difference between list_groups and get_group?**
`list_groups` gives you a directory of all group names. `get_group` requires you to specify one name and then returns detailed metadata, like its rules or description.

**How do I add someone to a new group? (add_user_to_group)**
You must first confirm the user exists using `find_user` or `search_users`. Then you tell your agent to use `add_user_to_group`, providing both the necessary User ID and Group Name.

**How do I manage my real-time data synchronization setup using list_webhooks?**
It retrieves a list of all active webhooks tied to your Forj account. This lets you verify which external services are receiving updates, ensuring your community data syncs correctly in real time.

**What information does get_account_details provide about my community?**
This tool fetches high-level metadata for the entire Forj account. You use it to confirm basic system settings and gather general statistics about your professional community's overall structure.

**How do I check who is waiting approval using list_pending_requests?**
It lists all members whose requests to join a group are currently pending. Your agent can review this data and approve or deny membership directly, managing your community's growth pipeline.

**If I only have an email address, how do I find the user using find_user?**
The tool finds a specific member profile instantly when you provide their email. This is much faster and more accurate than searching by name when you know the exact contact information.

**How do I get an API Key for Forj?**
API Keys can be generated by the Account Owner within the platform settings under the API Access section.

**Can I approve pending group requests via the agent?**
You can use the 'list_pending_requests' tool to identify members awaiting approval. Support for direct approval via API depends on your plan.

**Is member activity tracked in real-time?**
Yes, the 'get_user_activity' tool retrieves the most recent log of interactions and group actions for a specific member.