Tools for connecting AI agents with MCP server
Project description
ShivonAI
A Python package for integrating AI recruitment tools with various AI agent frameworks.
Features
- Acess custom hiring tools for AI agents
- Integrate MCP tools with popular AI agent frameworks:
- LangChain
- LlamaIndex
- CrewAI
- Agno
Generate auth_token
visit https://shivonai.com to generate your auth_token.
Installation
pip install shivonai[langchain] # For LangChain
pip install shivonai[llamaindex] # For LlamaIndex
pip install shivonai[crewai] # For CrewAI
pip install shivonai[agno] # For Agno
pip install shivonai[all] # For all frameworks
Getting Started
LangChain Integration
from langchain_openai import ChatOpenAI
from langchain.agents import initialize_agent, AgentType
from shivonai.lyra import langchain_toolkit
# Replace with your actual MCP server details
auth_token = "shivonai_auth_token"
# Get LangChain tools
tools = langchain_toolkit(auth_token)
# Print available tools
print(f"Available tools: {[tool.name for tool in tools]}")
# Initialize LangChain agent with tools
llm = ChatOpenAI(
temperature=0,
model_name="gpt-4-turbo",
openai_api_key="openai-api-key"
)
agent = initialize_agent(
tools=tools,
llm=llm,
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
verbose=True
)
# Try running the agent with a simple task
try:
result = agent.run("what listing I have?")
print(f"Result: {result}")
except Exception as e:
print(f"Error: {e}")
LlamaIndex Integration
from llama_index.llms.openai import OpenAI
from llama_index.core.agent import ReActAgent
from shivonai.lyra import llamaindex_toolkit
# Set up OpenAI API key - you'll need this to use OpenAI models with LlamaIndex
os.environ["OPENAI_API_KEY"] = "openai_api_key"
# Your MCP server authentication details
MCP_AUTH_TOKEN = "shivonai_auth_token"
def main():
"""Test LlamaIndex integration with ShivonAI."""
print("Testing LlamaIndex integration with ShivonAI...")
# Get LlamaIndex tools from your MCP server
tools = llamaindex_toolkit(MCP_AUTH_TOKEN)
print(f"Found {len(tools)} MCP tools for LlamaIndex:")
for name, tool in tools.items():
print(f" - {name}: {tool.metadata.description[:60]}...")
# Create a LlamaIndex agent with these tools
llm = OpenAI(model="gpt-4")
# Convert tools dictionary to a list
tool_list = list(tools.values())
# Create the ReAct agent
agent = ReActAgent.from_tools(
tools=tool_list,
llm=llm,
verbose=True
)
# Test the agent with a simple query that should use one of your tools
# Replace this with a query that's relevant to your tools
query = "what listings I have?"
print("\nTesting agent with query:", query)
response = agent.chat(query)
print("\nAgent response:")
print(response)
if __name__ == "__main__":
main()
CrewAI Integration
from crewai import Agent, Task, Crew
from langchain_openai import ChatOpenAI # or any other LLM you prefer
from shivonai.lyra import crew_toolkit
import os
os.environ["OPENAI_API_KEY"] = "oepnai_api_key"
llm = ChatOpenAI(temperature=0.7, model="gpt-4")
# Get CrewAI tools
tools = crew_toolkit("shivonai_auth_token")
# Print available tools
print(f"Available tools: {[tool.name for tool in tools]}")
# Create an agent with these tools
agent = Agent(
role="Data Analyst",
goal="Analyze data using custom tools",
backstory="You're an expert data analyst with access to custom tools",
tools=tools,
llm=llm # Provide the LLM here
)
# Create a task - note the expected_output field
task = Task(
description="what listings I have?",
expected_output="A detailed report with key insights and recommendations",
agent=agent
)
crew = Crew(
agents=[agent],
tasks=[task])
result = crew.kickoff()
print(result)
Agno Integration
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from shivonai.lyra import agno_toolkit
import os
from agno.models.aws import Claude
# Replace with your actual MCP server details
auth_token = "Shivonai_auth_token"
os.environ["OPENAI_API_KEY"] = "oepnai_api_key"
# Get Agno tools
tools = agno_toolkit(auth_token)
# Print available tools
print(f"Available MCP tools: {list(tools.keys())}")
# Create an Agno agent with tools
agent = Agent(
model=OpenAIChat(id="gpt-3.5-turbo"),
tools=list(tools.values()),
markdown=True,
show_tool_calls=True
)
# Try the agent with a simple task
try:
agent.print_response("what listing are there?", stream=True)
except Exception as e:
print(f"Error: {e}")
License
This project is licensed under a Proprietary License – see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
shivonai-0.1.4.tar.gz
(14.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
shivonai-0.1.4-py3-none-any.whl
(14.0 kB
view details)
File details
Details for the file shivonai-0.1.4.tar.gz.
File metadata
- Download URL: shivonai-0.1.4.tar.gz
- Upload date:
- Size: 14.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ada2a4a940ed1e090d8ee9c5a76193c2909667d8098ac3e802b938b232640a9a
|
|
| MD5 |
e46acfc0ef748396ab0cf232d37e1b4d
|
|
| BLAKE2b-256 |
9fc4ce6a8b524b3e8be60e25790caaaacc53969da4fc0a517785151863c92822
|
File details
Details for the file shivonai-0.1.4-py3-none-any.whl.
File metadata
- Download URL: shivonai-0.1.4-py3-none-any.whl
- Upload date:
- Size: 14.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
675ec109b92a72d3787c462e2e4a1b11a5a682385b975edec6a4453550b8ceba
|
|
| MD5 |
0b4ed9fd591f42a2546da9e2cd80fd0e
|
|
| BLAKE2b-256 |
c29cded33c0263f500a08b227e6a5632c5050ca1f329a45ae446be1774f1ec4e
|