Skip to main content

FastAPI-style MCP framework with integrated LLM tooling

Project description

# simcpi ⚡

simcpi is an experimental framework that intends to make working with MCP significantly easier.

The project currently focuses on reducing the friction between:

- APIs

- MCP tools

- LLM orchestration

- frontend integrations

---

# Current Goals

simcpi currently intends to fulfill 3 major goals:

## 1. Unified API + MCP Tool Creation

Define both:

- REST APIs

- MCP tools

using a single decorator and a single function.

@app.create\_tool\_api("/add")

def add(a: int, b: int) -> int:

    return a + b



This automatically creates:



FastAPI route

Swagger documentation

MCP tool registration



without requiring duplicate definitions.



2\. Swagger-Style MCP Interface (MCPark)



simcpi includes MCPark, a visual interface inspired by Swagger UI.



It allows you to:



inspect MCP tools

test tool calls

interact with LLMs

view execution traces

debug MCP workflows visually



The goal is to make MCP servers easier to explore and test during development.



3\. Simplified LLM + MCP Client Integration



simcpi also provides a lightweight MCP client abstraction that combines:



LLM orchestration

MCP transport handling

tool execution



into a simple interface.



result = await client.run("Add 42 and 58")



The intention is to make integrating MCP into applications and frontends much simpler.



Experimental Warning ⚠️



This project is currently highly experimental and under active development.



Things may change rapidly, including:



APIs

architecture

transport handling

orchestration logic

interfaces



Please be careful when using this in:



production systems

public deployments

security-sensitive environments



At the moment, the framework is mainly intended for:



experimentation

prototyping

local development

learning MCP workflows

rapid iteration

Installation

pip install simcpi

Quick Example

from simcpi import MCPApi

import uvicorn

import os



app = MCPApi(

    provider="openai",

    api\_key=os.getenv("AI\_API\_KEY"),

    base\_url="https://api.aicredits.in/v1"

)



@app.create\_tool\_api("/greet-hindi")

def greet\_hindi(name: str) -> str:

    """

    Greet the user in Hindi.

    """



    return f"नमस्ते {name}! आपका स्वागत है 🚀"





@app.create\_tool\_api("/greet-telugu")

def greet\_telugu(name: str) -> str:

    """

    Greet the user in Telugu.

    """



    return f"నమస్కారం {name}! మీకు స్వాగతం 🚀"





if \_\_name\_\_ == "\_\_main\_\_":

    uvicorn.run(app, host="127.0.0.1", port=8000)

Interfaces



Once running:



Interface	URL

Swagger UI	/docs

MCPark	/mcpark

MCP Endpoint	/mcp/mcp

Future Plans



The project will continue evolving with additional features and improvements moving forward.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simcpi-0.1.0.tar.gz (15.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

simcpi-0.1.0-py3-none-any.whl (15.9 kB view details)

Uploaded Python 3

File details

Details for the file simcpi-0.1.0.tar.gz.

File metadata

  • Download URL: simcpi-0.1.0.tar.gz
  • Upload date:
  • Size: 15.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for simcpi-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d75727811ad575c0e448782a2e0a33f55cb7ba172a73dcd9ec0d1b2a5c178215
MD5 58c17e0361cca6f232b73ef5f6fc6f5e
BLAKE2b-256 2d3434be4cc8951f6f44c797be81b40dff6833dc7656dc8261b0eff87b1a5183

See more details on using hashes here.

File details

Details for the file simcpi-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: simcpi-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for simcpi-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 de415c669570195c9b5dfeba32083e4ba04000b72d34c2a0fbaf68c342364b86
MD5 c68044c07218c09763e3678720093eaf
BLAKE2b-256 6e805626c1a4348c05652767ea334509aa3717a425edbea8b632362816518b9b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page